我试着在“风味”一词后面加上空格,但在每一个字母之后都要加空格。这是我的代码:
re.sub(r'(?<=["Flavor"])(?=[^\s])', r' ', short_description)我的python结果是>>>'F l a v o r BLACKWATER OG (I), APPLE JACK (S), BLACKBERRY KUSH (I), SOUR TANGIE (S), SUNSET GELATO (H), GORILLA GLUE 4 (H), GRAND DADDY PURP (I), WHITE WIDOW (S), NAPALM OG (I)‘
我希望能得到这样的结果:
'Flavor BLACKWATER OG (I), APPLE JACK (S), BLACKBERRY KUSH (I), SOUR TANGIE (S), SUNSET GELATO (H), GORILLA GLUE 4 (H), GRAND DADDY PURP (I), WHITE WIDOW (S), NAPALM OG (I)'发布于 2021-09-29 20:53:42
将re.sub与下面所示的正则表达式一起使用Flavor (在Flavor之后正好有1空)替换Flavor后面的0或更多空格字符:
import re
short_descriptions = [
'FlavorBLACKWATER OG',
'Flavor BLACKWATER OG',
'Flavor BLACKWATER OG'
]
for short_description in short_descriptions:
print(re.sub(r'Flavor\s*', r'Flavor ', short_description))指纹:
Flavor BLACKWATER OG
Flavor BLACKWATER OG
Flavor BLACKWATER OG请注意,上面的正则表达式完全避免了查找((?<=Flavor ))。
还请注意,正如上面提到的注释所示,您使用的regex指定了一个字符类["Flavor"],因此在这些指定字符:", F, l, a, v, o, r之后添加了一个空白。
https://stackoverflow.com/questions/69382963
复制相似问题