如何解析 Python 中的非英文混合文本
How to parse non-english mixed text in Python
我有以下通过解析图像生成的随机数据 - https://dpaste.de/wwuj/raw
我想生成一个csv,需要从文本中提取以下数据
नाम, पति का नाम, मकान संख्या, आयु, लिंग
问题:
我们可以使用正则表达式来解析 python 中的非英文字符吗?
如果你能展示一个关于如何获取字段值的小演示就更好了。
谢谢。
您是否已经知道您使用的是哪种语言?
如果是,Unicode Blocks 1 可以帮助您获得拼字字母表的范围。
如果没有,Unicode Blocks 2 可以帮助您了解正字法语言所处的范围,然后您可以使用其中任何一种来定义正则表达式范围,以细化特定于该正字法语言的每个字符。
我不知道你是否有文件或者数据已经存储在 python 所以我会避免代码中的循环来匹配每一行,但下面的正则表达式应该让你得到想要的内容:
regex = ur'[\u0020-\u007F]' # This is basic Latin orthographic language range if you want multiple ranges you can use ur'[\u0020-\u007F\u00A0-\u00FF]'
regex = regex.decode("raw-unicode-escape")
reg_compiled = re.compile(regex)
de_item = item.decode('utf-8') #Item stands for your string/line/variable or whatsoever
if reg.search(de_item):
return item # or print(item)
我知道一切都非常冗长,但我希望代码非常清晰,以便阅读它的人立即理解。
由您决定是什么项目,但如果您有:
आयु, hello लिंग
作为一个项目,它将return整个字符串
我有以下通过解析图像生成的随机数据 - https://dpaste.de/wwuj/raw
我想生成一个csv,需要从文本中提取以下数据
नाम, पति का नाम, मकान संख्या, आयु, लिंग
问题:
我们可以使用正则表达式来解析 python 中的非英文字符吗?
如果你能展示一个关于如何获取字段值的小演示就更好了。
谢谢。
您是否已经知道您使用的是哪种语言? 如果是,Unicode Blocks 1 可以帮助您获得拼字字母表的范围。 如果没有,Unicode Blocks 2 可以帮助您了解正字法语言所处的范围,然后您可以使用其中任何一种来定义正则表达式范围,以细化特定于该正字法语言的每个字符。
我不知道你是否有文件或者数据已经存储在 python 所以我会避免代码中的循环来匹配每一行,但下面的正则表达式应该让你得到想要的内容:
regex = ur'[\u0020-\u007F]' # This is basic Latin orthographic language range if you want multiple ranges you can use ur'[\u0020-\u007F\u00A0-\u00FF]'
regex = regex.decode("raw-unicode-escape")
reg_compiled = re.compile(regex)
de_item = item.decode('utf-8') #Item stands for your string/line/variable or whatsoever
if reg.search(de_item):
return item # or print(item)
我知道一切都非常冗长,但我希望代码非常清晰,以便阅读它的人立即理解。
由您决定是什么项目,但如果您有:
आयु, hello लिंग
作为一个项目,它将return整个字符串