正则表达式解析字符串

时间:2017-05-22 06:51:13

标签: java regex string

字符串:'Purchase Appln : 2157551 - DIRECT 1,23.00 1,234.23'

输出结果应为

str1 = 'Purchase Appln : 2157551 - DIRECT';

str2= '1,23.00 1,234.23';

请帮我创建一个正则表达式来获得所需的结果。

2 个答案:

答案 0 :(得分:1)

使用String.split方法使用正面外观:

String input = "Purchase Appln : 2157551 - DIRECT 1,23.00 1,234.23";
String[] result = input.split("(?<=DIRECT) ");
System.out.println(Arrays.toString(result));

将打印您需要的

[Purchase Appln : 2157551 - DIRECT, 1,23.00 1,234.23]

答案 1 :(得分:0)

尝试

String str = "Purchase Appln : 2157551 - DIRECT 1,23.00 1,234.23";

String str1 = str.substring(0, str.indexOf("DIRECT" + 6); //str1 = 'Purchase Appln : 2157551 - DIRECT';

String str2 = str.substring(str.indexOf("DIRECT" + 7);    //str2= '1,23.00 1,234.23';