2017-12-18 138 views
-1
加入整個單詞

讓說,我有這樣的句子:通過其標記的Python

His/O name/O is/O Petter/Name Jack/Name and/O his/O brother/O name/O is/O 
Jonas/Name Van/Name Dame/Name 

我怎樣才能得到這樣的:

Petter Jack, Jonas Van Dame. 

到目前爲止,我已經嘗試過這一點,但仍它只是加入2個字:

import re 
pattern = re.compile(r"\w+\/Name) 
sent = sentence.split() 
for i , w in sent: 
    if pattern.match(sent[i]) != None: 
     if pattern.match(sent[i+1]) != None: 
     #.... 
     #join sent[i] and sent[i+1] element 
     #.... 
+0

你爲什麼要拆分句子?你不能直接在所有文本上使用re? – furas

+0

我知道,我只是使用另一種方法來結合。仍然不知道如何通過使用全文 – Fregy

回答

1

嘗試是這樣的

pattern = re.compile(r"((\w+\/Name\s*)+)") 
names = pattern.findall(your_string) 
for name in names: 
    print(''.join(name[0].split('/Name'))) 
+0

通過它的標籤加入我已經試過這個。但結果是單個詞。我想加入一個人的名字。如果我嘗試加入這個,我不能指定其他名字 – Fregy

+0

好吧,給我一下)) – vZ10

+0

檢查編輯 – vZ10

1

我在考慮一個兩相溶液

r = re.compile(r'\w+\/Name(?:\ \w+\/Name)*')  
result = r.findall(s) 
# -> ['Petter/Name Jack/Name', 'Jonas/Name Van/Name Dame/Name'] 

for r in result: 
    print(r.replace('/Name', '')) 
# -> Petter Jack 
# -> Jonas Van Dame 
+0

這個工程太。謝謝你的幫助 :) – Fregy