我无法从文件中提取某个字符串...以防输入字符串为:
Codigo: 000001
Cliente: 000030 John Red
Codigo: 000002
Cliente: 000032 Kin Ahaul paulo
我的预期结果是:
Codigo: 000001 - John Red
Codigo: 000002 - Kin Ahaul Paulo
我的结果是:
Codigo: 000001 -
Codigo: 000002 -
正则表达式:
(Codigo: [0-9]{6})
我需要做什么并为每个人创建一个正则表达式?如果要提取代码一个正则表达式并提取另一个名称?
答案 0 :(得分:0)
您可以使用三个正则表达式。一个将提取Codigo
行,一个将提取Cliente
行。然后,您可以遍历数据并在使用第三个清理后附加Cliente
数据。
提取Codigo:
/Codigo:\s\d*/g
提取Cliente专栏:
/Cliente:.*/g
通过删除匹配来清除Cliente行:
/Cliente:\s\d*/g
答案 1 :(得分:0)
您可以使用捕获组在单个正则表达式中执行此操作:
(Codigo: \d+)\nCliente: \d+ (.*)
使用第一组和第二组,所需的结果为$1 - $2
。
在此重新说明:http://refiddle.com/refiddles/594c082d75622d4e37160000
答案 2 :(得分:0)
尝试使用此正则表达式,必须出现 Codigo:和 Cliente:字样,然后您应确保空格,数字(数字)和名称是按顺序出现:
(Codigo:[ ]+\d+|Cliente:[ ]+\d+)([A-Za-z ]+)