基于字符串和模式拆分字符串 - 已更新

时间:2015-08-11 06:03:41

标签: java

String prop="AS=AP:BS=BP:CS=CS:DS=DPS:";
String currentValue="AS"

我有上面的字符串值(prop),我希望根据String值(currentValue)拆分String并打印Equal和Colon符号之间的值。
所以我使用下面的代码来实现这一点,但是它没有用于最后一个字符串值" DSP"因为它的长度是3

System.out.println(prop.substring((prop.indexOf(geo)+3), (prop.indexOf(geo)+5)));

我是一名Unix工程师使用awk在UNIX脚本中实现这一点,有没有办法在JAVA中实现这一点?

更新:下面的代码工作正常,但是当两个值相等时失败,如AS = AS:BS = BS:CS = CP:DS = DPS:当currentValue为AS / BS时失败 String subStr=prop.split(currentValue)[1]; System.out.println(subStr.substring(subStr.indexOf("=")+1,subStr.indexOf(":")));

1 个答案:

答案 0 :(得分:1)

你在寻找这种解决方案吗?

String prop="AS=AP:BS=BP:CS=CP:DS=DPS:";
String currentValue="AS";

String subStr=prop.split(currentValue)[1]; 
System.out.println(subStr.substring(subStr.indexOf("=")+1,subStr.indexOf(":")));