2024-09-29 23:23:49 发布
网友
问题是我现在有一个字符串,其中一些单词粘在一起:
傻瓜日志和我需要傻瓜D****字符串文本继续插入“” whateveredJ和我需要whateveredJ******字符串文本继续插入“”
string = string.replace("edD","ed D") string = string.replace("edJ","ed J")
但是我需要代替“D”和“J”使用任何可能的字符,以避免这里的硬编码值,这样代码就可以处理这个位置的任何字母或数字
这是一个很容易用正则表达式解决的问题(尽管正则表达式是完成这项工作的最佳工具,但它并不总是正确的)。试试这个:
import re text = "fooledDog whateveredJob" fixed_text = re.sub(r'ed([A-Z])', r'ed \1', text) print(fixed_text) # prints "fooled Dog whatevered Job"
该模式查找小写字母'ed',后跟任何大写字母(捕获)。替换为'ed'和一个空格,后跟捕获组的大写字母
'ed'
我不完全理解你的问题,但似乎你有一些想分开的驼峰词。如果是这种情况,请尝试以下方法:
import re name = 'CamelCaseTest123' splitted = re.sub('(?!^)([A-Z][a-z]+)', r' \1', name).split()
输出:
['Camel', 'Case', 'Test123']
这是一个很容易用正则表达式解决的问题(尽管正则表达式是完成这项工作的最佳工具,但它并不总是正确的)。试试这个:
该模式查找小写字母
'ed'
,后跟任何大写字母(捕获)。替换为'ed'
和一个空格,后跟捕获组的大写字母我不完全理解你的问题,但似乎你有一些想分开的驼峰词。如果是这种情况,请尝试以下方法:
输出:
相关问题 更多 >
编程相关推荐