gpt4 book ai didi

python - 在python中向某个字符串添加空格

转载 作者:行者123 更新时间:2023-11-30 22:21:50 29 4
gpt4 key购买 nike

我的数据如下所示:

SMITH,JOHN, additional data delimited by commas
JONES,TOMMY, additional data delimited by commas
WILLIAMS, BILLY, additional data delimited by commas
etc.

我需要让它看起来像这样:

SMITH, JOHN, additional data delimited by commas
JONES, TOMMY, additional data delimited by commas
WILLIAMS, BILLY, additional data delimited by commas
etc.

请注意前两个名称的逗号后面的额外空格。

我想我需要使用正则表达式来实现这一点,但它似乎不起作用。我试过:

grantor = grantor.replace(r'[A-Z],[A-Z]', r'[A-Z], [A-Z]')

但这并没有发生在我身上。我错过了什么?我只需要更改其中有文本字符、逗号和紧邻的文本字符的名称。列表中的其他名称都是正确的,无需更改。

最佳答案

str.replace不使用正则表达式。您必须使用 re module为此。

但是由于您只是用逗号和空格替换逗号,因此实际上不需要这里的正则表达式:

s = '''SMITH,JOHN
JONES,TOMMY
etc.'''

s = s.replace(',', ', ')

print(s)
# SMITH, JOHN
# JONES, TOMMY
# etc.

I only need to replace the commas that are immediately preceded and proceeded by uppercase text characters.

那么您可能还是想使用正则表达式。您必须使用 re.sub为此:

import re
s = 'FOO, SMITH,JOHN'

s = re.sub('([A-Z]),([A-Z])', r'\1, \2', s)
print(s)
# FOO, SMITH, JOHN

这使用引用将这两个字符放在逗号周围。您还可以为此使用lookbehinds 和lookaheads:

s = 'FOO, SMITH,JOHN'

s = re.sub('(?<=[A-Z]),(?=[A-Z])', ', ', s)
print(s)
# FOO, SMITH, JOHN

关于python - 在python中向某个字符串添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48511451/

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