gpt4 book ai didi

python - 用两个不同的分隔符拆分字符串,将两个单词大写,只包含分隔符,然后再添加两个分隔符的最佳方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 15:40:28 24 4
gpt4 key购买 nike

我正在编写一个 Python 脚本,它应该能够用两个分隔符分割一个字符串:'_' 和 '.',将被分隔符分割的两个单词都大写(包含分隔符),然后最后有分隔符放回原来的位置。

所以类似于:this_is.an_Example string for.You

应该变成:This_Is.An_Example string For.You

现在我有这个:return '_'.join(x.capitalize() for x in re.split('_|\.', str)) + '\n'这并没有真正按照我的意愿去做。

有什么干净的方法可以做到这一点?感谢您的帮助!

最佳答案

你可以使用

import re
s = "this_is.an_Example string for.You"
print(re.sub( r'(?<![^_.])[^\W_]+|[^\W_]+(?=[._])', lambda x: x.group().capitalize(), s))
# => This_Is.An_Example string For.You

参见 Python demoregex demo .

图案细节

  • (?<![^_.])[^\W_]+ - 1 个或多个数字或字母 ( [^\W_]+ ) 紧接在 _ 之前, 或 . , 或字符串开头
  • | - 或者
  • [^\W_]+(?=[._]) - 1 个或多个数字或字母 ( [^\W_]+ ) 紧跟 _ , 或 . , 或字符串结尾。

关于python - 用两个不同的分隔符拆分字符串,将两个单词大写,只包含分隔符,然后再添加两个分隔符的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52708315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com