除了单词之外,如何在字符之间添加 space?
How do you add space between characters except for a word?
我有一个字符串:
string = "abc(word)def(word)oiu"
我需要输出为:
spaced = "a b c (word) d e f (word) o i u"
使用re.sub
的一种方式:
s = "abc(word)def(word)oiu"
re.sub("\(.+?\)", lambda x: x.group(0).replace(" ", ""), " ".join(s))
输出:
'a b c (word) d e f (word) o i u'
这将首先在所有字符之间放置空格,并删除括号之间的空格。
保持简单,避免在基本情况下使用正则表达式
像这样:
s = "abc(word)def(word)oiu"
w = '(word)'
spaced_out = f' {w} '.join(' '.join(text) for text in s.split(w))
您可以使用模式 '\(.+?\)|.'
将输入分隔为应由空格连接的子字符串,然后使用 ' '.join()
插入这些空格。
我们寻找 (
,后跟一个或多个字符,然后是 )
。我们使用 ?
以便我们在看到的下一个右括号处停止,而不是字符串中的最后一个 )
。如果我们不能匹配那个模式,我们就取下一个字符:
import re
data = "abc(word)def(word)oiu"
result = ' '.join(re.findall(r'\(.+?\)|.', data))
print(result)
这输出:
a b c (word) d e f (word) o i u
这适用于任何给定的字符串。
string = "abc(word)def(word)oiu"
skip_word= "(word)"
spaced_string = " ".join([char for char in string])
spaced_word = " ".join([char for char in skip_word])
spaced = spaced_string.replace(spaced_word, skip_word)
我有一个字符串:
string = "abc(word)def(word)oiu"
我需要输出为:
spaced = "a b c (word) d e f (word) o i u"
使用re.sub
的一种方式:
s = "abc(word)def(word)oiu"
re.sub("\(.+?\)", lambda x: x.group(0).replace(" ", ""), " ".join(s))
输出:
'a b c (word) d e f (word) o i u'
这将首先在所有字符之间放置空格,并删除括号之间的空格。
保持简单,避免在基本情况下使用正则表达式 像这样:
s = "abc(word)def(word)oiu"
w = '(word)'
spaced_out = f' {w} '.join(' '.join(text) for text in s.split(w))
您可以使用模式 '\(.+?\)|.'
将输入分隔为应由空格连接的子字符串,然后使用 ' '.join()
插入这些空格。
我们寻找 (
,后跟一个或多个字符,然后是 )
。我们使用 ?
以便我们在看到的下一个右括号处停止,而不是字符串中的最后一个 )
。如果我们不能匹配那个模式,我们就取下一个字符:
import re
data = "abc(word)def(word)oiu"
result = ' '.join(re.findall(r'\(.+?\)|.', data))
print(result)
这输出:
a b c (word) d e f (word) o i u
这适用于任何给定的字符串。
string = "abc(word)def(word)oiu"
skip_word= "(word)"
spaced_string = " ".join([char for char in string])
spaced_word = " ".join([char for char in skip_word])
spaced = spaced_string.replace(spaced_word, skip_word)