Python替换字符串中的文本

时间:2018-05-07 12:15:54

标签: python python-3.x

我正在使用可以处理python脚本的软件。其中有列表/表格,如图层。我可以获得列表,但不能替换部分文本。

列表:

06H_906_283_B__DMU_TMU_000_000_EL-UMSCHALTVENTIL_______________________S_P@SKIN
05E_906_051____GEO_TM__001_____DRUCKSENSOR________09_08_2016_EE_______.1\NAUO7\
03H_260_089_K__DMU_TMU_000_000_HALTER__________________________________S_POS001
ENT_406_001_FB_GEO_TM__009_____HALTER_SENSOR_MOT__________20170502_VIF.1\PartBo

想要替换像:

这样的东西
TM_009 to TM009
_GEO_  to 'delete'
______ to _

尝试了许多事情,但没有任何效果。 我认为最简单的方法是字典。 但是我被困住了,无法让它发挥作用。

我还有一些方面: ...

names = base.GetEntityCardValues(deck, prop, ('Name',))   #getting the list with names
    for prop in props:
        dict = {
        'EN_0+':'EN0',
        '-TM_0':'-TM0',
        '_+':'_',
        'DMU_':'',
        'GEO_':'',
        } 

。 。 。替换 。 。 base.SetEntityCardValues(deck,prop,{' Name':new_names})#the我要写回新名称的结尾

1 个答案:

答案 0 :(得分:0)

尝试str.replace()

str = str.replace("TM_009", "TM009")

或多次替换:

string = "TM_009 abc A"
print(string)

repl = {"TM_009": "TM009", "A": "B"}
for orig,repl in repl.items():
   string = string.replace(orig, repl)

print(string)

输出:

  

TM_009 abc A

     

TM009 abc B

这是你需要的吗?