繁体   English   中英

python在某些群集或字符后添加空间

[英]python adding space after certain clusters or characters

我有一个文本文件,如下所示:

AELSLAEM A3LYKM

AELSLAEM A3LYKM WRH7MT3 AELLHH WBRKAETHH

HHL TSMH7 LY

LW SMH7T

MN FD9LK

HHL TTKRM A3LY B

MN FD9LK阿赫里德

AHNAE AHRYD MN FD9LK

MN FD9LK AHH7D9R LY

HHL LDYK H7JHZ

AENTDH6R QLYLAE

SAHNTDH6R HHNAE

MTAE YGHLQ AELMT6A3M

MTAE YFTH7 AELMT6A3M ...

我想在以下每个字符后添加一个空格:

字符= [AH,AE2,UW,EH,AE,B,T3,T,TH,JH,H7,X,D,DH,R,Z,S,SH,S9,D9,T6,DH6,A3,GH ,F,Q,K,L,M,N,HH,W,Y,AA,AN,IH,EN,UN,2]

因此输出将如下所示:

AE LSL AE M A3 LYKM

AE LSL AE M A3 LYKMWR H7 M T3 AE LL HH WBRK AE T HH

HH LTSM H7 LY

LWSM H7 T

MNF D9 LK

HH LTTKRM A3 LYB

MNF D9 LK AH RYD

我主要遇到的麻烦是增加空格,例如,仅在D之后紧跟数字或H。我想在python或(如果可能的话)vim中这样做。 任何人都可以帮忙。 谢谢!

您可以尝试使用replace方法。 因此,您使用一个for循环遍历字符数组(如果愿意,也可以使用常规的for循环),然后说该字符的所有实例替换为该字符再加上一个空格:

for chars in characters:
{
    str = str.replace(chars, chars + ' ')
}

假设您将文件读入名为str的变量。

这对我有用

import sys

try:
    inp = open("input.txt", "r") 
    inp1 = inp.read()
    inp.close()
except Exception, e:
    print "File error:", e
    sys.exit(-1)

print "\nFile Contents:\n", inp1
characters = ['AH', 'AE2', 'UW', 'EH', 'AE', 'B', 'T3', 'T', 'TH', 'JH', 'H7', 'X', 'D', 'DH', 'R', 'Z', 'S', 'SH', 'S9', 'D9', 'T6', 'DH6', 'A3', 'GH', 'F', 'Q', 'K', 'L', 'M', 'N', 'HH', 'W', 'Y', 'AA', 'AN', 'IH', 'EN', 'UN', '2'] 
for each in characters: 
    if each in inp1: 
        inp1= inp1.replace(each, each + " ") 

print "\nOutput:\n", inp1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM