Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中,当子字符串在一行中出现一次而不是两次时删除它_Python_Regex_String - Fatal编程技术网

在python中,当子字符串在一行中出现一次而不是两次时删除它

在python中,当子字符串在一行中出现一次而不是两次时删除它,python,regex,string,Python,Regex,String,我知道如何删除或替换子字符串。但我只想在子串不重复的情况下使用它。我做了一个看起来很难看的解决方案,我想知道是否有更好的解决方案 假设以下字符串: test = "Hello\n,I am here now.\n\nSo what's the problem?" 第一个\n应该删除,但是第二个\n \n不应该删除 为此,我将\n\n替换为普通会话字符串中永远不会出现的内容,如: x = test.replace('\n\n','42#*#') x = x.replace('\n','')

我知道如何删除或替换子字符串。但我只想在子串不重复的情况下使用它。我做了一个看起来很难看的解决方案,我想知道是否有更好的解决方案

假设以下字符串:

test = "Hello\n,I am here now.\n\nSo what's the problem?"  
第一个\n应该删除,但是第二个\n \n不应该删除

为此,我将\n\n替换为普通会话字符串中永远不会出现的内容,如:

x = test.replace('\n\n','42#*#')
x = x.replace('\n','')
x = x.replace('42#*#','\n\n')
这是可行的,但我想知道是否有更好的办法解决这个问题

编辑:我尝试了从

但是,使用以下正则表达式时:

re.split('(?<!,)\n', test)

所以\n和\n\n都被删除了,我如何避免这种情况?

您可以将前瞻和回望断言结合起来:

re.sub(r'\n(?!\n)(?<!\n\n)', '', test)

您可以结合使用前向和后向断言:

re.sub(r'\n(?!\n)(?<!\n\n)', '', test)

非常感谢。这实际上是有效的,而不是标记的duplicate@Kev1n91我还投票决定重新讨论这个问题。这不是链接的副本。我喜欢这个环顾四周的顺序。谢谢。这实际上是有效的,而不是标记的duplicate@Kev1n91我还投票决定重新讨论这个问题。它不是链接的副本。我喜欢这种环顾四周的顺序。