在一系列已知或未知的字母序列之后替换或引入空格然后在换行内容上写入
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在一系列已知或未知的字母序列之后替换或引入空格然后在换行内容上写入相关的知识,希望对你有一定的参考价值。
问题是我现在有一个字符串,其中一些单词粘在一起:
fooledDog和我需要被欺骗的D ****字符串文本继续插入“”whateveredJ我需要whatevered J *******字符串文本继续插入“”
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'
和一个空格,然后是捕获组的大写字母。
另一答案
我不完全理解你的问题,但似乎你有一些想要分开的camelCase词。如果是这种情况,试试这个:
import re
name = 'CamelCaseTest123'
splitted = re.sub('(?!^)([A-Z][a-z]+)', r' \1', name).split()
输出:
['Camel', 'Case', 'Test123']
以上是关于在一系列已知或未知的字母序列之后替换或引入空格然后在换行内容上写入的主要内容,如果未能解决你的问题,请参考以下文章
如何在一组行之后或有条件地在没有 PL/SQL 块的情况下增加 oracle 序列?