[英]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.