Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.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/8/python-3.x/17.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/6/google-chrome/4.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 替换'的所有实例_';有空间。如果Sequalance中有多个实例,请仅替换为1个空格_Python_Python 3.x - Fatal编程技术网

Python 替换'的所有实例_';有空间。如果Sequalance中有多个实例,请仅替换为1个空格

Python 替换'的所有实例_';有空间。如果Sequalance中有多个实例,请仅替换为1个空格,python,python-3.x,Python,Python 3.x,我需要编写一个Python函数,它将用空格替换下划线的所有实例。如果有两个或多个连续下划线,则需要用单个空格替换它们 我可以替换字符,但不能限制要替换的空格数 def replace_trash(strg): newStr = '' for i in strg: if i != '_': newStr += i else: newStr += ' ' return newStr print

我需要编写一个Python函数,它将用空格替换下划线的所有实例。如果有两个或多个连续下划线,则需要用单个空格替换它们

我可以替换字符,但不能限制要替换的空格数

def replace_trash(strg):
    newStr = ''
    for i in strg:
        if i != '_':
            newStr += i
        else:
            newStr += ' '
    return newStr

print (replace_trash('Please__help___me_to_solve___this_____problem'))
预期结果将是:
请帮助我解决此问题

将正则表达式(+=一个或多个“”)的所有匹配项替换为单个空格

重新导入
def更换_垃圾桶(字符串):
返回re.sub(“”+“”,“”,字符串)
打印(替换垃圾(“请帮助我解决这个问题”)

你能给我解释一下它是如何工作的吗。我不明白“if not previous”在这里是如何工作的当找到a_时,previous被设置为1。当另一个字符被选中时,“上一个”设置为0。现在,当找到一个uu时,仅当前一个字符不是uu时,才会添加一个空格。这就是“如果不是以前”情况的原因。
def replace_trash(strg):
    newStr = ''
    previous = 0
    for i in strg:
        if i != '_':
            newStr += i
            previous = 0
        else:
            if not previous:
                newStr += ' '
            previous = 1
    return newStr