Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.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/16.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 删除[quote标记前面和[/quote]后面的空白_Python_Regex_String_Newline - Fatal编程技术网

Python 删除[quote标记前面和[/quote]后面的空白

Python 删除[quote标记前面和[/quote]后面的空白,python,regex,string,newline,Python,Regex,String,Newline,我需要从字符串中删除空格/换行符,但只能在[quote标记之前和[/quote]之后删除。其他空格/换行符应保持不变 例如: [quote=lorem]Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ut aliquam elit, nec lobortis neque.[/quote] Nunc ultrices, eros a fringilla varius, metus arcu rutrum liber

我需要从字符串中删除空格/换行符,但只能在[quote标记之前和[/quote]之后删除。其他空格/换行符应保持不变

例如:

[quote=lorem]Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ut aliquam elit, nec lobortis neque.[/quote]

Nunc ultrices, eros a fringilla varius, metus arcu rutrum libero, quis pulvinar sapien lorem et mauris. Nullam vitae nisi tristique, congue ipsum ut, lobortis augue.

Nam tempus justo hendrerit, feugiat ipsum eget, pellentesque eros. Fusce vel pretium felis, nec euismod nisl.








[quote=lipsum]Sed efficitur malesuada eleifend.[/quote]



Ut accumsan nulla sed lacus luctus, in venenatis diam tristique.
newString = re.sub(r'[\n\t\s]+\[quote', '[quote', quoteString, re.S)
newString = re.sub(r'quote\][\n\t\s]+', 'quote]', newString, re.S)
我希望这成为:

[quote=lorem]Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ut aliquam elit, nec lobortis neque.[/quote]
Nunc ultrices, eros a fringilla varius, metus arcu rutrum libero, quis pulvinar sapien lorem et mauris. Nullam vitae nisi tristique, congue ipsum ut, lobortis augue.

Nam tempus justo hendrerit, feugiat ipsum eget, pellentesque eros. Fusce vel pretium felis, nec euismod nisl.
[quote=lipsum]Sed efficitur malesuada eleifend.[/quote]
Ut accumsan nulla sed lacus luctus, in venenatis diam tristique.

我将通过在两轮中运行替换来简化它:

第一轮:
\n+\[quote
并将其替换为
[quote

第二轮:
quote\]\n+
并将其替换为
quote\]

我希望这对你有帮助:)

您还可以加强选项卡和空格的匹配,如:
[\n\t\s]+

例如:

[quote=lorem]Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus ut aliquam elit, nec lobortis neque.[/quote]

Nunc ultrices, eros a fringilla varius, metus arcu rutrum libero, quis pulvinar sapien lorem et mauris. Nullam vitae nisi tristique, congue ipsum ut, lobortis augue.

Nam tempus justo hendrerit, feugiat ipsum eget, pellentesque eros. Fusce vel pretium felis, nec euismod nisl.








[quote=lipsum]Sed efficitur malesuada eleifend.[/quote]



Ut accumsan nulla sed lacus luctus, in venenatis diam tristique.
newString = re.sub(r'[\n\t\s]+\[quote', '[quote', quoteString, re.S)
newString = re.sub(r'quote\][\n\t\s]+', 'quote]', newString, re.S)

…甚至只是将它们彼此缠绕起来

谢谢。问题:如何在第一轮替换中添加换行符?[quote标记之前。类似于\n[quote但不起作用?
re.sub(r'[\n\t\s]+\[quote','\n[quote',quoteString,re.s)
应该很好用。它不在你这边吗?奇怪,现在它起作用了。一定是做错了什么。再次感谢!