我希望消除包含多个单词的句子中的2个单词之间的空格
我的代码如下所示:
//get choosen file
var fileContent = new FormData();
fileContent.append("file",$('input[type=file]')[0].files[0]);
$.ajax({
type: "POST",
enctype:"multipart/form-data",
url: "uploadCsvData",
data: fileContent,
processData: false,
contentType: false,
success: function(response) {
}
});
输出:
import re
sentence = "open app store"
pattern = re.compile(r'\b([a-z]) (?=[a-z]\b)', re.I)
sentence = re.sub(pattern, r'\g<1>', sentence)
print(sentence)
我想删除应用和商店之间的空白区域。我想要这样的输出&#34;打开appstore&#34;。
请注意,open app store
始终不会提出app
,store
可能会出现其后的其他字词,例如app
。
答案 0 :(得分:1)
让我们看一下your pattern:它匹配一个字边界,然后将任何ASCII字母捕获到第1组,然后匹配一个空格,然后断言有一个ASCII字母后跟一个字边界。因此,它可以匹配a b
中的My a b string
,但不匹配app store
。
现在,您的app
值似乎是静态的,只有在app
后面还有另一个单词时才要匹配1个或多个空格。您可以遵循两种策略。
您可以匹配后跟空格和字母的app
,然后删除空格(请参阅this Python demo):
re.sub(r"\b(app)\s+([a-z])", r"\1\2", sentence, flags=re.I)
(另请参阅the regex demo)或者您可以使用app
后面的已知字词,只删除它们之间的空格:
re.sub(r"\b(app)\s+(store|maker|market|etc)", r"\1\2", sentence, flags=re.I)
答案 1 :(得分:0)
这可能适合你。
>>> import re
>>> sentence = "this is an open app store and this is another open app store."
>>> pattern = re.compile(r'app[\s]store')
>>> replacement = 'appstore'
>>> result = re.sub(pattern, replacement, sentence)
>>> result
'this is an open appstore and this is another open appstore.'
编辑:您可以使用此功能消除任意两个单词之间的空格。
import re
def remove_spaces(text, word_one, word_two):
""" Return text after removing whitespace(s) between two specific words.
>>> remove_spaces("an app store app maker app store", "app", "store")
'an appstore, app maker, appstore'
"""
pattern = re.compile(r'{}[\s]*{}'.format(word_one, word_two)) # zero or more spaces
replacement = word_one + word_two
result = re.sub(pattern, replacement, text)
return result
答案 2 :(得分:-1)
试试这个:
\Exception
输出:这是测试
希望它适合你。