提取UNICODE字周围的单词

时间:2015-08-21 10:50:53

标签: python regex unicode

此代码适用于此英文句子。

但是当我尝试用印地语的句子来做这件事时,它给出了错误,即单词不在列表中。

这是我的印地语句子:

प्रखर बुद्धि तेजस्वी बालक राजेन्द्र बाल्यावस्था में ही फारसी में शिक्षा ग्रहण करने लगा और उसके पश्चात प्राथमिक शिक्षा के लिए छपरा के जिला स्कूल |

我想提取单词बालक旁边的单词。

Python代码:

import re

sentence = 'The world is a small place, we should try to take care of it.'

words = re.findall(r'\w+', sentence)

index = words.index('place')

left = words[index - 3:index]

right = words[index + 1:index + 4]

1 个答案:

答案 0 :(得分:0)

你可以在python 3上做到这一点。

>>> import re
>>> s = 'प्रखर बुद्धि तेजस्वी बालक राजेन्द्र बाल्यावस्था में ही फारसी में शिक्षा ग्रहण करने लगा और उसके पश्चात प्राथमिक शिक्षा के लिए छपरा के जिला स्कूल |'
>>> re.findall(r'(\S+)\s+बालक\s+(\S+)', s)
[('तेजस्वी', 'राजेन्द्र')]

>>> left, right = re.findall(r'(\S+)\s+बालक\s+(\S+)', s)[0]
>>> left
'तेजस्वी'
>>> right
'राजेन्द्र'
>>> 

<强>更新

获得两个相邻的单词。

>>> left, right = re.findall(r'(\S+\s+\S+)\s+बालक\s+(\S+\s+\S+)', s)[0]
>>> left
'बुद्धि तेजस्वी'
>>> right
'राजेन्द्र बाल्यावस्था'