定义:
str = " a , b,c, hello there ! , my name is +++ , g "
如何删除前导和尾随空格以便输出:
"a,b,c,hello there !,my name is +++,g"
即。输出使得逗号分隔值字符串中的值之间没有前导或尾随空格。
我开始阅读正则表达式?这是否适合使用?我将如何完成任务?
答案 0 :(得分:4)
您可以像这样使用split()
,strip()
和join()
:
','.join([w.strip() for w in my_string.split(',')])
<强>输出:强>
>>> my_string = '[ a , b,c, hello there ! , my name is +++ , g ]'
>>> ','.join([w.strip() for w in my_string.split(',')])
'[ a,b,c,hello there !,my name is +++,g ]'
<强>解释强>
split()
用于通过分隔符my_string
拆分,
,结果如下:
>>> my_string.split(',')
['[ a ', ' b', 'c', ' hello there ! ', ' my name is +++ ', ' g ]']
strip()
用于删除上一个列表中每个单词周围的空格:
>>> [w.strip() for w in my_string.split(',')]
['[ a', 'b', 'c', 'hello there !', 'my name is +++', 'g ]']
上述行称为list comprehension
join()
用于通过连接上面列表中的单词来形成最后一个结果。
答案 1 :(得分:0)
您可以使用strip
功能
string = ' blah blah '
print string.strip() # =>'blah blah'
答案 2 :(得分:0)
您可以使用正则表达式'\s*,\s*'
将匹配的内容替换为,
。例如:
>>> import re
>>> my_str = "[ a , b,c, hello there ! , my name is +++ , g ]"
>>> re.sub('\s*,\s*', ',', my_str)
'[ a,b,c,hello there !,my name is +++,g ]'