删除随机定位的短语/句子\r\n(r/Python)
如何删除位于所有不同位置的短语或句子 例如,我想删除这样一句话:删除随机定位的短语/句子\r\n(r/Python),python,regex,r,Python,Regex,R,如何删除位于所有不同位置的短语或句子 例如,我想删除这样一句话: If you are having trouble viewing this message or would like to share it on a social network, you can view the message online. 但这句话有很多不同的变体,比如: If you are having trouble viewing this message or would like to share
If you are having trouble viewing this message or would like to share
it on a social network, you can view the message online.
但这句话有很多不同的变体,比如:
If
you are having trouble viewing this message or would like to share
it on a social network, you can view the message online.
或
我试图详细说明正则表达式中的每一种变体,但当句子或短语较短时,这是可能的
例如,如果我想删除,请立即与我联系
我可以指定请\r\n立即与我联系
请立即与我联系
请立即与我联系\r\n
请立即与我联系
删除此句子。但如果我想删除一个较长的句子,比如我的第一个例子,我不能写出所有可能的变体
总之,如何删除具有相同单词但在所有不同位置都有\r\n的短语和句子?尝试一下
$ import re
$ remove_text = lambda x, y: re.sub('\s?\r?\n?'.join(x.split()), "", y)
$ remove_text("Please contact me immediately", "Hello Please contact\r\nme immediately World")
> 'Hello World'
以后还可以删除额外的空格
$ re.sub('\s+', ' ', remove_text("Please contact me immediately", "Hello Please contact\r\nme immediately World"))
> 'Hello World'
此方法有其局限性,例如如果您的实际文本是,请立即与我联系
,它将被视为相同的文本。尝试一下
$ import re
$ remove_text = lambda x, y: re.sub('\s?\r?\n?'.join(x.split()), "", y)
$ remove_text("Please contact me immediately", "Hello Please contact\r\nme immediately World")
> 'Hello World'
以后还可以删除额外的空格
$ re.sub('\s+', ' ', remove_text("Please contact me immediately", "Hello Please contact\r\nme immediately World"))
> 'Hello World'
此方法有其局限性,例如,如果您的实际文本是
请立即与我联系
,它将被视为相同。此正则表达式模式将查找所有段落(与句子相反):
((?:[^\n\r]+[\n\r])+(?:[^\n\r]+[\n\r])(?=[\n\r]))
试试看@
说明:
在1行或多行上查找([1个或多个非换行字符]后跟[newline字符])
(?:[^\n\r]+[\n\r])+
查找与上述模式匹配的附加行
(?:[^\n\r]+[\n\r])
查找其他[换行符]IE:两组文本之间的空行
(?=[\n\r])
第二组和第三组组合起来等于段落的最后一行。此正则表达式模式将找到所有段落(与句子相反):
((?:[^\n\r]+[\n\r])+(?:[^\n\r]+[\n\r])(?=[\n\r]))
试试看@
说明:
在1行或多行上查找([1个或多个非换行字符]后跟[newline字符])
(?:[^\n\r]+[\n\r])+
查找与上述模式匹配的附加行
(?:[^\n\r]+[\n\r])
查找其他[换行符]IE:两组文本之间的空行
(?=[\n\r])
第二组和第三组的组合相当于段落的最后一行。根据这些句子出现的空间,不应该有
\r
或\n
?根据这些句子出现的空间,不应该有\r
或\n
?