java - Android中泰卢固语字符串的正则表达式?
问题描述
我能够从 OCR 结果中获取以下泰卢固语字符串。我需要为该字符串应用正则表达式。任何人都可以帮助如何获取性别,姓名,地址
customStr = "డివిజన్: షాద్ నగర్\n(గ్రామం: వెలిజర్ల -1\n\n \n \n \n\n \n\n \n\n||\n\n(|\n\n|||\n\n|||\n\nఖాతానెం.: 783\n\n \n\n' 1. పట్టాదారు పేరు ఇంటిపేరుతో : చతుర్వేదుల భార్గవి\n., 2. తండ్రి / భర్తపేరు : శ్రీధర కేదార్ నాథ్\n\n౩. స్త్రీ / పురుషుడు : Female\n, 4. చిరునామా : వెలిజర్ల -1\n5. కులము : General\n6. ఆధార్ సంఖ్య : XXXXXXXX8381\n\n7. పట్టాదారు సంతకం ఎడమ /కుడి చేతి వేలిముద్ర\n\nతహశీల్దార్ సంత!\n\n \n\nith CamScanner"
我正在使用以下源代码,但没有结果。
String[] lines = customStr.split("\\r?\\n", -1);
for(String line : lines) {
if (customStr.contains("స్త్రీ / పురుషుడు")){
text4.setText(line);
}
else{
System.out.printf("ok");
}
}
解决方案
使用带有模式和匹配器的正则表达式来获取性别、姓名和地址。请参考以下示例:
Pattern genderPattern = Pattern.compile("౩. స్త్రీ / పురుషుడు : (.*?)\n,");
Pattern addressPattern = Pattern.compile("4. చిరునామా : (.*?)\n5.");
Pattern namePattern = Pattern.compile("1. పట్టాదారు పేరు ఇంటిపేరుతో : (.*?)\n.,");
Matcher m;
m=genderPattern.matcher(customStr);
if(m.find())
gender = m.group(1));
m=addressPattern.matcher(customStr);
if(m.find())
address = m.group(1));
m=namePattern.matcher(customStr);
if(m.find())
name = m.group(1));
推荐阅读
- c# - 使用 C# 安装程序创建注册表项的正确方法
- c# - C# 在面板内运行外部游戏并在屏幕上覆盖标签
- python - 如何从渲染模板中的mysql查询结果正确返回或显示多行到html
- react-native - 在 React Native 中单击后退按钮后如何在上一个屏幕上传递数据?
- ruby-on-rails - Rails CSV 导入 first_or_create
- c++ - 无法取消引用结束列表迭代器
- android - 无法在禁用 webview 的设备上启动 paytm UPI
- python - 有什么方法可以初始化 numpy 数组,该数组将包含一定数量的元素并具有 (200,200,3) 的形状
- python - 如何将清理后的文本数据拆分为训练和测试数据集(随机抽样除外)
- dask - 如何在不使用 hdfs 的情况下在每个工作人员上并行计算 csv 文件存储?