我需要从python中的字符串中删除空格。例如。
str1 = "TN 81 NZ 0025"
str1sp = nospace(srt1)
print(str1sp)
>>>TN81NZ0025
答案 0 :(得分:20)
使用str.replace
:
>>> s = "TN 81 NZ 0025"
>>> s.replace(" ", "")
'TN81NZ0025'
要删除所有类型的空白字符,请使用str.translate
:
>>> from string import whitespace
>>> s = "TN 81 NZ\t\t0025\nfoo"
# Python 2
>>> s.translate(None, whitespace)
'TN81NZ0025foo'
# Python 3
>>> s.translate(dict.fromkeys(map(ord, whitespace)))
'TN81NZ0025foo'
答案 1 :(得分:3)
您可以使用string.replace()
function替换每个空格:
>>> "TN 81 NZ 0025".replace(" ", "")
'TN81NZ0025'
或者每个空格都有一个正则表达式(包括\t
和\n
):
>>> re.sub(r'\s+', '', "TN 81 NZ 0025")
'TN81NZ0025'
>>> re.sub(r'\s+', '', "TN 81 NZ\t0025") # Note the \t character here
'TN81NZ0025'
答案 2 :(得分:1)
请注意,python字符串是不可变的,字符串替换函数返回带有替换值的字符串。如果您没有在shell上执行语句,而是在文件中执行
new_str = old_str.replace(" ","" )
这将替换字符串中的所有空格。如果您只想替换前n个空格,
new_str = old_str.replace(" ","", n)
其中n是数字。
答案 3 :(得分:1)
删除句子之前,之后和之内所有额外空格的一行代码:
string = " TN 81 NZ 0025 "
string = ''.join(filter(None,string.split(' ')))
说明:
答案 4 :(得分:0)
试试这个:
s = "TN 81 NZ 0025"
s = ''.join(s.split())
答案 5 :(得分:0)
您可以使用以下方法将多个空格替换为所需的模式。这里你的模式是空白字符串。
import re
pattern = ""
re.sub(r"\s+", pattern, your_string)
或
import re
pattern = ""
re.sub(r" +", "", your_string)