是否有一个Python函数将从字符串中删除空白(空格和制表符)?
所以给定的输入" \t example string\t "变成了"example string"
是否有一个Python函数将从字符串中删除空白(空格和制表符)?
所以给定的输入" \t example string\t "变成了"example string"
当前回答
一般来说,我使用的方法如下:
>>> myStr = "Hi\n Stack Over \r flow!"
>>> charList = [u"\u005Cn",u"\u005Cr",u"\u005Ct"]
>>> import re
>>> for i in charList:
myStr = re.sub(i, r"", myStr)
>>> myStr
'Hi Stack Over flow'
注意:这只用于删除“\n”,“\r”和“\t”。它不会删除额外的空格。
其他回答
(re.sub(' +', ' ',(my_str。取代(' \ n ',' ')))). 带()
这将删除所有不需要的空格和换行符。希望这对你有所帮助
import re
my_str = ' a b \n c '
formatted_str = (re.sub(' +', ' ',(my_str.replace('\n',' ')))).strip()
这将导致:
'a b \n c'将被更改为'a bc '
如果使用Python 3:在打印语句中,以sep=""结束。这样就把所有的空格分开了。
例子:
txt="potatoes"
print("I love ",txt,"",sep="")
这将打印: 我喜欢土豆。
而不是: 我喜欢土豆。
在您的情况下,由于您将试图获得\t,执行sep="\t"
在Python中,trim方法被命名为strip:
str.strip() # trim
str.lstrip() # left trim
str.rstrip() # right trim
如果你想去掉字符串开头和结尾的空白,你可以这样做:
some_string = " Hello, world!\n "
new_string = some_string.strip()
# new_string is now "Hello, world!"
这很像Qt的QString::()方法,因为它删除了开头和结尾的空白,而只保留内部空白。
但是,如果你想使用Qt的QString::simplified()方法,它不仅删除开头和结尾的空白,而且还将所有连续的内部空白“压缩”为一个空格字符,你可以使用.split()和" "的组合。像这样加入:
some_string = "\t Hello, \n\t world!\n "
new_string = " ".join(some_string.split())
# new_string is now "Hello, world!"
在最后一个示例中,每个内部空格序列都被替换为单个空格,同时仍然将字符串的开头和结尾的空白删除。
一般来说,我使用的方法如下:
>>> myStr = "Hi\n Stack Over \r flow!"
>>> charList = [u"\u005Cn",u"\u005Cr",u"\u005Ct"]
>>> import re
>>> for i in charList:
myStr = re.sub(i, r"", myStr)
>>> myStr
'Hi Stack Over flow'
注意:这只用于删除“\n”,“\r”和“\t”。它不会删除额外的空格。