Amgalang 发表于 2022-5-30 00:19:20

python 匹配某些字符 打印这一行的求助

(1)大家好,我有A.txt 和 B.txt两个英文文件,A中有一词一行的多个数据,B是一句一行的数据(以空格分隔,"."结束的句子)。

(2)我想要得到的结果是:如果A中的词,在B中出现的话,打印出B中的该句子。

(3)实例如:A.txt中有“ 0I&M0D0:Yn”一词,其出现在B.txt的“0I&M0D0:Yn , EBESU HVWAR-VN SAYIHAN UJEMJI ."一行句子中。

(4)几个试验用语料如下:A.txt

        T&N:Yn
        V&G:Yn
        I&A:Yn

        B.txt

        SI JUCUGE-YIN $ANGNAL-DV SIL T&N:Yn .
        NVTVG-VN HVBILGAN V&G:Yn M0RIT .
        I&A:Yn 1963 0N-DV ARAD-VN .

期待您的帮助,谢谢。

wp231957 发表于 2022-5-30 06:31:49

这个不是很难,你最好是把基础文件发出来

Amgalang 发表于 2022-5-30 07:25:12

wp231957 发表于 2022-5-30 06:31
这个不是很难,你最好是把基础文件发出来

上传了,谢谢

wp231957 发表于 2022-5-30 08:49:30

Amgalang 发表于 2022-5-30 07:25
上传了,谢谢

你确认 a.txt 都在b.txt里吗
我用代码跑   一个匹配的都米有啊

wp231957 发表于 2022-5-30 08:54:09

本帖最后由 wp231957 于 2022-5-30 09:01 编辑

Amgalang 发表于 2022-5-30 07:25
上传了,谢谢

知道咋回事了,已修正BUG
fha=open("a.txt","r",encoding="utf-8")
fhb=open("b.txt","r",encoding="utf-8")
for a in fhb:
    flag=0
    for b in fhb:
      if a[:-1] in b:
            print(b)
            flag=1
            break
      if flag==0:
            print(a[:-1],"------------------not found")   

      

Amgalang 发表于 2022-5-30 15:13:55

刚看您的回复,谢谢,不过运行结果一直是下面一句的重复呢(一直在运行):

PAGE1 MINU T0BCI NAMTAR BI 1925 0N-V BILIG-UN VLARIL-VN GVRBADVGAR SAR_A-YIN ARBAN GVRBAN-DV , JIRIM AYIMAG-VN H0RCIN JEGUN GARVN H0YITV H0SIGVN-V ADVGVCIN NVTVG-VN CAGAN IMAGAN AYIL-VN B0RJIGIN 0B0GTV HV HI TAYIJI MONGHEJIRGAL-VN D0NGR0BJAMSV-YIN-DU H0YADVGAR HUU NI B0LJV JAYAGAJAI . ------------------not found

wp231957 发表于 2022-5-30 19:03:17

Amgalang 发表于 2022-5-30 15:13
刚看您的回复,谢谢,不过运行结果一直是下面一句的重复呢(一直在运行):

PAGE1 MINU T0BCI NAMTAR BI ...

那就自己调试一下呢,反正思路就是这些了

Amgalang 发表于 2022-5-31 15:01:01

wp231957 发表于 2022-5-30 19:03
那就自己调试一下呢,反正思路就是这些了

谢谢你的帮助,感谢噢 wish you have a nice day.

a = open(r"C:\Users\amgalang\Desktop\dict.txt")
dict = a.readlines()
c = open(r"C:\Users\amgalang\Desktop\need.txt")
dict = b.readlines()
list1 = []
for n in need:
       n = n.strip()
       for d in dict:
            d = d.strip()
            if n in d:
                     list1.append(d)

e = open(r"C:\Users\amgalang\Desktop\result.txt","w",encoding="utf-8")
e.write('\n'.join(list1))
e.close()
页: [1]
查看完整版本: python 匹配某些字符 打印这一行的求助