【发布时间】:2019-04-07 13:08:56
【问题描述】:
import re
import fileinput
import re
#regex used
#result = re.split('(?<=\S)[^-][ ](?=[a-zA-Z0-9])', line)
result = re.split('(?<=\S$)[^-][ ](?=[a-zA-Z0-9])', line)
line = "WordsAreStickedTogetherHereIneedOneSpaceBetweeeThem"
result = re.split('(?<=\S$)[^-][ ](?=[a-zA-Z0-9])', line)
final_result = re.sub('dM','d M',result)
final_result = re.sub('dJ','d J',result)
for elem in final_result:
print elem
ERRROR:
$python main.py
Traceback (most recent call last):
File "main.py", line 22, in <module>
final_result = re.sub('dC','d C',result)
File "/usr/lib64/python2.7/re.py", line 155, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or buffer
【问题讨论】:
-
我没有看到明确的问题陈述。我确实看到的一个问题是您正在尝试使用带有
re.split的环视。你不能这样做,所以我建议添加一些示例数据来解释问题。 -
您是否尝试将
WordsAreSticked转换为Words Are Sticked? -
是的@cglacet,但我知道大写字母之前的确切字母顺序需要留出一个空格(不是大写后跟小写),序列“”在两者之间,然后我需要写在换行符上。所以它是 SequenceOfLettersUPPERCASE 必须是 sequenceofletter" " UPPERCASE" 这只是为了在未分隔的单词之间创建空格,然后写在 Name1 - Adress1 newline Name2 - Adress2 等换行符序列上(想想它,就像 Adress1 贴了两个词together" re.finditer 想要一个字符串,我可以将我的 results=re.split 转换回字符串吗?如何?