在一些已知或未知的字母序列后替换或引入空格,然后写在换行符内容上

2024-09-29 23:23:49 发布

您现在位置:Python中文网/ 问答频道 /正文

问题是我现在有一个字符串,其中一些单词粘在一起:

傻瓜日志和我需要傻瓜D****字符串文本继续插入“” whateveredJ和我需要whateveredJ******字符串文本继续插入“”

string = string.replace("edD","ed D")
string = string.replace("edJ","ed J")

但是我需要代替“D”和“J”使用任何可能的字符,以避免这里的硬编码值,这样代码就可以处理这个位置的任何字母或数字


Tags: 字符串代码文本编码string字母数字字符
2条回答

这是一个很容易用正则表达式解决的问题(尽管正则表达式是完成这项工作的最佳工具,但它并不总是正确的)。试试这个:

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'和一个空格,后跟捕获组的大写字母

我不完全理解你的问题,但似乎你有一些想分开的驼峰词。如果是这种情况,请尝试以下方法:

import re

name = 'CamelCaseTest123'
splitted = re.sub('(?!^)([A-Z][a-z]+)', r' \1', name).split()

输出:

['Camel', 'Case', 'Test123']

相关问题 更多 >

    热门问题