python 去除空格的脚本
python script to strip white spaces
我是 python 的新手,正在寻求帮助!在此我有这个字符串,其中包含 xml 内容。我需要去除不同标签之间的空白。
<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>
之后看起来像:
<SIMPLE_RETURN><RESPONSE><DATETIME>2018-05-09T12:47:24Z</DATETIME><CODE>2014</CODE><TEXT>Too many concurrent login(s)</TEXT></RESPONSE></SIMPLE_RETURN>
如果有人能提供帮助,我们将不胜感激!!
我认为这很简单。
你只需要得到一个正则表达式来匹配标签之间的空格
str string = "<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>
"
string = re.sub(r">(\s+)<","><",string)
使用正则表达式。
例如:
import re
s = """<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>"""
print(re.sub("([\>])\s+([\<])", "\g<1>\g<2>", s))
您可以使用 sub 正则表达式函数:
import re
string = "<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>"
result = re.sub(r'> +<', '><', a)
print result
如果你不想使用正则表达式,你可以这样做:(对我来说,新手也更容易理解它是如何工作的,但我不知道这是否是最好的方法)
my_str = '<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>'
new_str = ''
for character in my_str:
if character != ' ':
new_str = new_str + character
然后,如果您这样做:
print(new_str)
输出是:
'<SIMPLE_RETURN><RESPONSE><DATETIME>2018-05-09T12:47:24Z</DATETIME><CODE>2014</CODE><TEXT>Toomanyconcurrentlogin(s)</TEXT></RESPONSE></SIMPLE_RETURN>'
我能想到的第二种方法是:
new_str = ''.join(my_str.split())
它说 'split my_str at white spaces and then join the pieces that result from this with no character in between'。 print
的输出是一样的。
希望这会有所帮助,但同样,我不知道这些是否是最好的方法。
给你:
import re
str = "<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>"
str = re.sub("\>\s+",">", str)
另一种方法:
k = "<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>"
k.replace(" ","")
'<SIMPLE_RETURN><RESPONSE><DATETIME>2018-05-09T12:47:24Z</DATETIME><CODE>2014</CODE><TEXT>Toomanyconcurrentlogin(s)</TEXT></RESPONSE></SIMPLE_RETURN>'
我是 python 的新手,正在寻求帮助!在此我有这个字符串,其中包含 xml 内容。我需要去除不同标签之间的空白。
<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>
之后看起来像:
<SIMPLE_RETURN><RESPONSE><DATETIME>2018-05-09T12:47:24Z</DATETIME><CODE>2014</CODE><TEXT>Too many concurrent login(s)</TEXT></RESPONSE></SIMPLE_RETURN>
如果有人能提供帮助,我们将不胜感激!!
我认为这很简单。 你只需要得到一个正则表达式来匹配标签之间的空格
str string = "<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>
"
string = re.sub(r">(\s+)<","><",string)
使用正则表达式。
例如:
import re
s = """<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>"""
print(re.sub("([\>])\s+([\<])", "\g<1>\g<2>", s))
您可以使用 sub 正则表达式函数:
import re
string = "<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>"
result = re.sub(r'> +<', '><', a)
print result
如果你不想使用正则表达式,你可以这样做:(对我来说,新手也更容易理解它是如何工作的,但我不知道这是否是最好的方法)
my_str = '<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>'
new_str = ''
for character in my_str:
if character != ' ':
new_str = new_str + character
然后,如果您这样做:
print(new_str)
输出是:
'<SIMPLE_RETURN><RESPONSE><DATETIME>2018-05-09T12:47:24Z</DATETIME><CODE>2014</CODE><TEXT>Toomanyconcurrentlogin(s)</TEXT></RESPONSE></SIMPLE_RETURN>'
我能想到的第二种方法是:
new_str = ''.join(my_str.split())
它说 'split my_str at white spaces and then join the pieces that result from this with no character in between'。 print
的输出是一样的。
希望这会有所帮助,但同样,我不知道这些是否是最好的方法。
给你:
import re
str = "<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>"
str = re.sub("\>\s+",">", str)
另一种方法:
k = "<SIMPLE_RETURN> <RESPONSE> <DATETIME>2018-05-09T12:47:24Z</DATETIME> <CODE>2014</CODE> <TEXT>Too many concurrent login(s)</TEXT> </RESPONSE></SIMPLE_RETURN>"
k.replace(" ","")
'<SIMPLE_RETURN><RESPONSE><DATETIME>2018-05-09T12:47:24Z</DATETIME><CODE>2014</CODE><TEXT>Toomanyconcurrentlogin(s)</TEXT></RESPONSE></SIMPLE_RETURN>'