Ansible string.split()函数使用多个分隔符进行字符串分割

3

我在尝试使用多个分隔符将字符串分割成列表时遇到了困难。我可以像下面这样分两次进行分割:

myString.split(':')[1].split('.')

然而这样看起来很不雅观。在我看来,我想做一些像这样的事情:
myString.split(': | .')

这真的是一个事情吗?

你能否对这个答案提供任何反馈?或者如果它有效,可以接受这个答案吗? - Kanwar Saad
1个回答

6
我可以想到两种方法来做到这一点。 将所有的分隔符替换为单个分隔符,然后进行拆分:
- set_fact: my_list="{{ (myString | regex_replace(':|.', ':')).split(':') }}"

使用正则表达式拆分:

- set_fact: mystr="{{ myString | regex_findall('([^:.]+)') }} "

1
是的,正如我所说,我知道我可以用其他方法做到这一点。我的观点是,能否在ansible中使用split()函数来使用多个分隔符进行拆分?这个答案并没有回答我的问题。 - Darmach
你的问题的答案是否定的。你不能仅使用split()函数来完成它。你必须向ansible提出此功能请求。 - Kanwar Saad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接