Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.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_Replace - Fatal编程技术网

Python 用一个空格替换任意数量的空格

Python 用一个空格替换任意数量的空格,python,regex,replace,Python,Regex,Replace,有没有一种方法可以使用replace替换为regex表示任意数量的空格(空白,但也有制表符)?我正在尝试将多个空白的任何扩展收缩为一个,但它不起作用: mystring.replace('\s+', ' ') 不能在字符串的replace()方法中使用正则表达式,必须使用: 注意字符串文字前的r前缀,这可以确保正则表达式中的反斜杠得到正确解释。这实际上不会造成什么不同,但对于不同的转义序列,它可能会导致严重的问题。例如,'\b'是一个反空格字符,但r'\b'是一个反斜杠,后跟一个“b”,用于匹

有没有一种方法可以使用
replace
替换
regex
表示任意数量的空格(空白,但也有制表符)?我正在尝试将多个空白的任何扩展收缩为一个,但它不起作用:

mystring.replace('\s+', ' ')

不能在字符串的
replace()
方法中使用正则表达式,必须使用:


注意字符串文字前的
r
前缀,这可以确保正则表达式中的反斜杠得到正确解释。这实际上不会造成什么不同,但对于不同的转义序列,它可能会导致严重的问题。例如,
'\b'
是一个反空格字符,但
r'\b'
是一个反斜杠,后跟一个“b”,用于匹配正则表达式中的单词边界。

您不能在
replace()
方法中对字符串使用正则表达式,您必须使用:

注意字符串文字前的
r
前缀,这可以确保正则表达式中的反斜杠得到正确解释。这实际上不会造成什么不同,但对于不同的转义序列,它可能会导致严重的问题。例如,
'\b'
是一个反空格字符,但
r'\b'
是一个反斜杠,后跟一个“b”,用于匹配正则表达式中的单词边界。

尝试使用:

尝试使用:


您可以使用
str.split
str.join
,使用您需要的正则表达式:


您可以使用
str.split
str.join
,使用您需要的正则表达式:


试试这样的

import re
re.sub('\s+',' ',mystring)

试试这样的

import re
re.sub('\s+',' ',mystring)
就这样

import re
print re.sub(r'\s+', '_', 'hello there')
# => 'hello_there'
就这样

import re
print re.sub(r'\s+', '_', 'hello there')
# => 'hello_there'

警告:如果字符串仅包含空格字符,则此选项不起作用。警告:如果字符串仅包含空格字符,则此选项不起作用。
import re
print re.sub(r'\s+', '_', 'hello there')
# => 'hello_there'