Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从字符串中获取位于特定键之后的字符列表?_Python_String - Fatal编程技术网

Python 如何从字符串中获取位于特定键之后的字符列表?

Python 如何从字符串中获取位于特定键之后的字符列表?,python,string,Python,String,例如,我需要每个字符在“!”之后在我的字符串中(“192.168!A!B”) 我想要一个包含a和B的列表 字符串可能类似于“Interface Vlan!A,Name!B”我会使用正则表达式: import re pattern = r"!(.)" search_string = "192.168.!A.!B" results = re.findall(pattern, search_string) # Returns ['A', 'B'] 如果发生在字符串的末尾 regex101是学习正

例如,我需要每个字符在“!”之后在我的字符串中(“192.168!A!B”) 我想要一个包含a和B的列表
字符串可能类似于“Interface Vlan!A,Name!B”

我会使用正则表达式:

import re

pattern = r"!(.)"
search_string = "192.168.!A.!B"

results = re.findall(pattern, search_string)
# Returns ['A', 'B']
如果
发生在字符串的末尾


regex101是学习正则表达式并在字符串上测试它们的好地方:

这是某人删除其答案的答案

a=re.findall(“!(\w)”,“192.168.!a.!B”)
打印(a)

尝试使用列表理解的
split

print([next(iter(i),None) for i in string.split('!')])
或者以
地图
风格的方式:

print(list(map(lambda i: next(iter(i),None),string.split('!'))))

很高兴与大家分享您当前的代码片段欢迎来到Stack Overflow!解决这个问题的方法太多了。答案将变成一个人们喜欢的民意测验。最好的办法是自己做一些关于这个话题的研究,找到两三个,分析它们,确定它们是否对你有用,并尝试一下。当你有关于你试图做的事情的特定问题时,请与我们联系。谢谢,我测试了删除的答案,它起作用了,我试图感谢他,但它被删除了:/谢谢你的建议@PatrickArtner,但我尝试了我知道的所有方法,我在这里搜索相同或相近的人,但我没有找到。我的测试失败了,因此没有必要发布我测试的内容,因为它们失败了。此外,我解释了这个问题,我不认为有什么模棱两可的地方。谢谢你的问候:)你错了。展示您的尝试向我们表明,您1)并不是在简单地寻找解决方案2)让我们猜测您的技能水平,并提供合适的解决方案3)证明您并没有在这里实际卸载您的工作。4) 带给你最大的收获,因为你每次尝试都能学到东西。最后,它显示了您遵循的第0条规则:研究。您是否理解或只是复制并粘贴此解决方案?您还可以在“192.168!A!B”.split(!”[1:]
中为x使用
[x.strip(“.”)。。。根本不需要正则表达式。。或者一个简单的for循环遍历字符串字符-等待!并将下一个字符存储在结果列表中,或者…,或者…,或者…,是的,我理解。但是我没有尝试你的第一个建议,因为我有一个文件,里面有思科交换机或路由器的命令,所以情况可能是这样的“接口Vlan!a”。所以这里没有用于条纹的“.”。再次感谢您的建议,我很感激您希望我做得更好。@PatrickArtnerit不适用于以下字符串:Command=“Interface Vlan!A,ip地址192.168.1.!B\nName!C\nExit”