gpt4 book ai didi

python - 如何根据某些规则更改字符串?

转载 作者:行者123 更新时间:2023-11-28 20:18:25 27 4
gpt4 key购买 nike

我有以下文本,每行有两个短语并用 "\t" 分隔

RoadTunnel    RouteOfTransportation
LaunchPad Infrastructure
CyclingLeague SportsLeague
Territory PopulatedPlace
CurlingLeague SportsLeague
GatedCommunity PopulatedPlace

我想得到的是在单词之间加上_,结果应该是:

Road_Tunnel    Route_Of_Transportation
Launch_Pad Infrastructure
Cycling_League Sports_League
Territory Populated_Place
Curling_League Sports_League
Gated_Community Populated_Place

没有"ABTest""aBTest"这样的情况,有三个单词在一起的情况"RouteOfTransportation"我尝试了几种方法但没有成功。

我的一个尝试是:

textProcessed = re.sub(r"([A-Z][a-z]+)(?=([A-Z][a-z]+))", r"\1_", text)

但是没有结果

最佳答案

使用正则表达式和re.sub

>>> import re
>>> s = '''LaunchPad Infrastructure
... CyclingLeague SportsLeague
... Territory PopulatedPlace
... CurlingLeague SportsLeague
... GatedCommunity PopulatedPlace'''
>>> subbed = re.sub('([A-Z][a-z]+)([A-Z])', r'\1_\2', s)
>>> print(subbed)
Launch_Pad Infrastructure
Cycling_League Sports_League
Territory Populated_Place
Curling_League Sports_League
Gated_Community Populated_Place

编辑:这是另一个,因为您的测试用例覆盖的范围不足以确定您到底想要什么:

>>> re.sub('([a-zA-Z])([A-Z])([a-z])', r'\1_\2\3', 'ABThingThing')
'AB_Thing_Thing'

关于python - 如何根据某些规则更改字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36589430/

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