ai didi

python - 将双引号之间的空格替换为下划线

转载 作者:行者123 更新时间:2023-12-02 01:26:15 24 4
gpt4 key购买 nike

如果空格位于双引号之间,我想将空格替换为下划线。示例:

given    = 'hello "welcome to" python "blog"'
expected = 'hello "welcome_to" python "blog"'

我的实际字符串位于 SQL 代码中,我需要将其转换为使用下划线进行迁移。

我尝试过的

import re

s = 'hello "welcome to" java 2 "blog"'
a = re.sub('(\"[\w\s]+\")', '_', s)
print (a)

也一直在尝试谷歌,但还没有找到。

如何用 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)
'hello "welcome_to" python "blog"'

如果你愿意,你可以用列表理解来做到这一点,但在我看来它看起来更糟

'"'.join(s if i % 2 == 0 else s.replace(' ', '_') for i, s in enumerate(inp.split('"')))

或格式化

'"'.join(
s if i % 2 == 0
else s.replace(' ', '_')
for i, s in enumerate(inp.split('"')[:-1])
)

关于python - 将双引号之间的空格替换为下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74569246/

24 4 0
文章推荐: java - 如何在 h2 db 中存储 LocalDateTime?
文章推荐: python - Pandas:使用 timedelta 合并两个数据帧
文章推荐: c++ - 从 constexpr 字符串初始化字符数组
文章推荐: python - 将 "collection"属性直接添加到类的顶层
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com