[英]regex re.findall
我有一个这样的字符串:
string = ' "K" -4+2-2+1+ "W" +4-1-6-8-6-4+5+ "Q" '
我想用 re.findall 创建一个列表,如下所示:
['"K"', "-4+2-2+1+", '"W"', "+4-1-6-8-6-4+5+", '"Q"']
谁可以帮我这个事?
你不需要正则表达式,你需要string.split()
您可以使用string.split()
来拆分字符串中的空格。 由于您的特定字符串也有尾随空格,因此我建议您也使用string.strip()
。
mystring = ' "K" -4+2-2+1+ "W" +4-1-6-8-6-4+5+ "Q" '
mylist = mystring.strip().split(" ")
mylist
将具有您需要的格式:
['"K"', '-4+2-2+1+', '"W"', '+4-1-6-8-6-4+5+', '"Q"']
如果您真的需要使用正则表达式执行此操作,我想您可以使用如下表达式:
import re
myregex = r"(\"\w\") ([-+0-9]+) (\"\w\") ([-+0-9]+) (\"\w\")"
mystring = ' "K" -4+2-2+1+ "W" +4-1-6-8-6-4+5+ "Q" '
mylist = re.findall(myregex,mystring)
两者都会产生相同的列表,但使用strip
和split
可能会有更好的性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.