如何只删除字符串特定部分的空格
How to delete whitespace in only a certain part of the string
假设我有这样的字符串
string = 'abcd <# string that has whitespace> efgh'
而且我想删除这个<#...>
里面的所有白色space并且不影响外面的任何东西<#...>
但 <#...>
之外的字符也可以更改,因此 <#...>
不会处于固定位置。
我应该怎么做?
这不是一个复杂的操作。你就像做人一样去做。找到两个分隔符,保留第一个分隔符之前的部分,去掉中间的space,剩下的保留
string = 'abcd <# string that has whitespace> efgh'
i1 = string.find('<#')
i2 = string.find('>')
res = string[:i1] + string[i1:i2].replace(' ','') + string[i2:]
print(res)
输出:
abcd <#stringthathaswhitespace> efgh
这个怎么样...
string = 'abcd <# string that has whitespace> efgh'
s = string.split()
s = ' '.join( (s[0], ''.join(s[1:-1]), s[-1]) )
如果 <#...> 始终存在,查找字符串的一种方法是使用正则表达式 (regex) 搜索包含您要修改的字符的字符串部分。然后你需要去掉白色 space.
了解正则表达式需要一些时间,但它们可以成为强大的工具。
Regex
假设我有这样的字符串
string = 'abcd <# string that has whitespace> efgh'
而且我想删除这个<#...>
里面的所有白色space并且不影响外面的任何东西<#...>
但 <#...>
之外的字符也可以更改,因此 <#...>
不会处于固定位置。
我应该怎么做?
这不是一个复杂的操作。你就像做人一样去做。找到两个分隔符,保留第一个分隔符之前的部分,去掉中间的space,剩下的保留
string = 'abcd <# string that has whitespace> efgh'
i1 = string.find('<#')
i2 = string.find('>')
res = string[:i1] + string[i1:i2].replace(' ','') + string[i2:]
print(res)
输出:
abcd <#stringthathaswhitespace> efgh
这个怎么样...
string = 'abcd <# string that has whitespace> efgh'
s = string.split()
s = ' '.join( (s[0], ''.join(s[1:-1]), s[-1]) )
如果 <#...> 始终存在,查找字符串的一种方法是使用正则表达式 (regex) 搜索包含您要修改的字符的字符串部分。然后你需要去掉白色 space.
了解正则表达式需要一些时间,但它们可以成为强大的工具。 Regex