2024-10-01 00:31:40 发布
网友
我有一根绳子
str="hello <abc123> python <is456> awesome"
我想用上面字符串应该给出的其他字符替换括号中的字符
"hello lock python lock awesome "
我试过这样的方法:
ss=str.replace("\\<(.*?)\\>",'lock')
但这不管用。那么,如何使用regex实现这一点呢?你知道吗
你可以做一个简单的regex替换,比如
re
>>> import re >>> str = "hello <abc123> python <is456> awesome" >>> re.sub(r'<.*?>', 'lock', str) 'hello lock python lock awesome'
这样做(将lookbehind/lookahead断言与.的非贪婪匹配结合起来):
.
before = "hello <abc123> python <is456> awesome" after = re.sub(r'(?<=<).+?(?=>)', 'lock', before) print(after)
输出:
hello <lock> python <lock> awesome
如果您不需要括号,那么re.sub(r'<.+?>', 'lock', before)就可以了。你知道吗
re.sub(r'<.+?>', 'lock', before)
>>> import re >>> s ="hello <abc123> python <is456> awesome" >>> re.sub('<.*?>', 'lock', s) 'hello lock python lock awesome'
你可以做一个简单的
re
gex替换,比如这样做(将lookbehind/lookahead断言与
.
的非贪婪匹配结合起来):输出:
如果您不需要括号,那么
re.sub(r'<.+?>', 'lock', before)
就可以了。你知道吗相关问题 更多 >
编程相关推荐