【发布时间】:2020-03-13 13:36:00
【问题描述】:
我有一些列表为 t_pre_eks_tfberita
我想将包含“BUKAN HOAX (1)”的“Label”字符串替换为“BUKAN HOAX”,并将包含“HOAX (1)”的字符串更改为“HOAX”。 但是当我使用此代码时发现错误。
for i in range (len(t_pre_eks_tfberita)):
if(t_pre_eks_tfberita[i][0]=="Label"):
j=1
while j in range (len(t_pre_eks_tfberita[i])):
cek = re.search("BUKAN",t_pre_eks_tfberita[i][j])
if(cek):
t_pre_eks_tfberita[i][j] = "BUKANHOAX"
else:
t_pre_eks_tfberita[i][j] = "HOAX"
j+=1
dfr_eks_tfberita = pd.DataFrame(list(map(list, zip(*t_pre_eks_tfberita))))
new_header = dfr_eks_tfberita.iloc[0] #grab the first row for the header
dfr_eks_tfberita = dfr_eks_tfberita[1:] #take the data less the header row
dfr_eks_tfberita.columns = new_header
for i in range(len(new_header)):
if new_header[i] != 'Label' and new_header[i] != 'Isi_Dokumen':
dfr_eks_tfberita[new_header[i]] = dfr_eks_tfberita[new_header[i]].astype('int')
dfr_eks_tfberita
当我运行它时,我发现了这样的错误。
这个问题有什么解决办法吗?
【问题讨论】:
-
cek = re.search("BUKAN", str(t_pre_eks_tfberita[i][j]))?实际上,您可以将in与字符串一起使用,如果您想检查另一个字符串中是否存在固定子字符串,则无需使用re。 -
@WiktorStribiżew 我试过 cek = re.search("BUKAN", str(t_pre_eks_tfberita[i][j])) 但运行需要很长时间可以吗?我想将所有号码的任何“BUKAN HOAX (1)...(500)”更改为“BUKAN HOAX”,并将所有“HOAX (1)....(500)”更改为“HOAX” ,我想从该字符串中删除所有数字
标签: python regex string list replace