在Python中拆分除URL和电子邮件地址以外的所有点字符(.)的字符串
我是正则表达式的新手。我在Python中有一个非常简单的用例,但我无法找到最简单的方法。我有一段话想分成几个句子。这是一个解释某些步骤的技术性段落,所以我现在使用一个非常简单的东西,它是关于所有点的分割(.) 然而,这一段也可能有一些URL或电子邮件地址,其中可能包含一个点(.),但我不想把它们分开。一种方法是从段落中取出所有URL和电子邮件地址(使用regex?),然后拆分为(),然后添加回URL等。 我假设一定有更好的方法可以一次性实现这一点,方法是使用正则表达式库中的split函数。 提供一个明确的例子:在Python中拆分除URL和电子邮件地址以外的所有点字符(.)的字符串,python,regex,split,Python,Regex,Split,我是正则表达式的新手。我在Python中有一个非常简单的用例,但我无法找到最简单的方法。我有一段话想分成几个句子。这是一个解释某些步骤的技术性段落,所以我现在使用一个非常简单的东西,它是关于所有点的分割(.) 然而,这一段也可能有一些URL或电子邮件地址,其中可能包含一个点(.),但我不想把它们分开。一种方法是从段落中取出所有URL和电子邮件地址(使用regex?),然后拆分为(),然后添加回URL等。 我假设一定有更好的方法可以一次性实现这一点,方法是使用正则表达式库中的split函数。 提供
input= "Click on the next button. If you do not see this option, you may contact: xyz@support.com. Please mention your user id in the email"
output= ["click on the next button", "If you do not see this option, you may contact: xyz@support.com", "Please mention your user id in the email"]
假设段落中没有语法错误
\.\s*(?=[A-Z])
您可以按此拆分。请参阅演示
例如,使用
后跟空格将有效。不确定这一假设是否有效。我可以试着这样做作为最后的手段,但如果有一种方法不采用这种假设,我宁愿这样做。@ShubhamAtreja在这种情况下,为问题添加更好的样本输入将有助于。。。回答问题的人很难猜出你输入的所有案例。。
\.\s*(?=[A-Z])