在一些已知或未知的字母序列之后替换或引入 space 然后在换行符上写内容
Replacing or introducing a space after a sequence of letters some known or unknown then write on newlines content
问题是我现在有一个字符串,其中一些单词粘在一起:
fooledDog,我需要被愚弄的 D**** 字符串文本继续插入“”
whateveredJ 和我需要 whatevered J ******* 字符串文本继续插入“”
string = string.replace("edD","ed D")
string = string.replace("edJ","ed J")
但我需要使用任何可能的字符而不是 "D" 和 "J",以避免在此处对值进行硬编码,以便代码可以在该位置处理任何字母或数字。
我不完全理解你的问题,但你似乎有一些你想分开的驼峰式单词。如果是这样,试试这个:
import re
name = 'CamelCaseTest123'
splitted = re.sub('(?!^)([A-Z][a-z]+)', r' ', name).split()
输出:
['Camel', 'Case', 'Test123']
这是一个很容易用正则表达式解决的问题(不是总是正确的,即使正则表达式是完成这项工作的最佳工具)。试试这个:
import re
text = "fooledDog whateveredJob"
fixed_text = re.sub(r'ed([A-Z])', r'ed ', text)
print(fixed_text) # prints "fooled Dog whatevered Job"
该模式查找小写字母 'ed'
,后跟任何大写字母(被捕获)。替换为 'ed'
和 space,后跟捕获组的大写字母。
问题是我现在有一个字符串,其中一些单词粘在一起:
fooledDog,我需要被愚弄的 D**** 字符串文本继续插入“” whateveredJ 和我需要 whatevered J ******* 字符串文本继续插入“”
string = string.replace("edD","ed D")
string = string.replace("edJ","ed J")
但我需要使用任何可能的字符而不是 "D" 和 "J",以避免在此处对值进行硬编码,以便代码可以在该位置处理任何字母或数字。
我不完全理解你的问题,但你似乎有一些你想分开的驼峰式单词。如果是这样,试试这个:
import re
name = 'CamelCaseTest123'
splitted = re.sub('(?!^)([A-Z][a-z]+)', r' ', name).split()
输出:
['Camel', 'Case', 'Test123']
这是一个很容易用正则表达式解决的问题(不是总是正确的,即使正则表达式是完成这项工作的最佳工具)。试试这个:
import re
text = "fooledDog whateveredJob"
fixed_text = re.sub(r'ed([A-Z])', r'ed ', text)
print(fixed_text) # prints "fooled Dog whatevered Job"
该模式查找小写字母 'ed'
,后跟任何大写字母(被捕获)。替换为 'ed'
和 space,后跟捕获组的大写字母。