hna*_*sdy 2 python string replace
如果空格位于双引号之间,我想将空格替换为下划线。例子:
given = 'hello "welcome to" python "blog"'
expected = 'hello "welcome_to" python "blog"'
Run Code Online (Sandbox Code Playgroud)
我的实际字符串位于 SQL 代码中,我需要将其转换为使用下划线进行迁移。
given = 'hello "welcome to" python "blog"'
expected = 'hello "welcome_to" python "blog"'
Run Code Online (Sandbox Code Playgroud)
也一直在尝试谷歌,但还没有找到。
在Python中怎么做?
如果您没有被迫使用正则表达式,请不要使用,因为这不是一个好的选择。
inp = 'hello "welcome to" python "blog"'
data = inp.split('"')
for i, part in enumerate(data[:-1]):
if i % 2 == 1:
data[i] = part.replace(' ', '_')
out = '"'.join(data)
print(out)
Run Code Online (Sandbox Code Playgroud)
'hello "welcome_to" python "blog"'
Run Code Online (Sandbox Code Playgroud)
如果你愿意,你可以用列表理解来做到这一点,但在我看来它看起来更糟
'"'.join(s if i % 2 == 0 else s.replace(' ', '_') for i, s in enumerate(inp.split('"')))
Run Code Online (Sandbox Code Playgroud)
或格式化
'"'.join(
s if i % 2 == 0
else s.replace(' ', '_')
for i, s in enumerate(inp.split('"')[:-1])
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
204 次 |
| 最近记录: |