【问题标题】:How can I get devnagri substring from a string containing a range of characters in pythonpython - 如何从包含python中一系列字符的字符串中获取devnagri子字符串
【发布时间】:2020-08-14 12:40:04
【问题描述】:
这是我的示例字符串:
string = 'this is a string 3.158 बात करना है'
我想要一个将此字符串作为参数并返回的函数:
'बातकरनाहै'
【问题讨论】:
标签:
python-3.x
unicode
substring
hindi
【解决方案1】:
devnagri 字母的 Windows XP 替代代码介于 2309 和 2416 之间。
所以你可以使用下面的代码:
s = 'this is a string 3.158 बात करना है'
for n,i in enumerate(s):
if ( 2309 < ord(i) < 2416 ) or (i==' ') and ( 2309 < ord(s[n-1]) <2416 ):
print(i,end='')
【解决方案2】:
regex 模块让您可以访问正则表达式中的 unicode 属性。因此,您可以使用 \p{script=devnagri} 属性来匹配 devnagri 字符