100001-安工部责任人,有许多类似的这种数据,怎么处理才能让它只取横线后面的数据?不能用substring,因为不确定横线前面的数据有几位
String example = "100001-安工部责任人";
String p = "\\d+-(.*)";
Pattern pattern = Pattern.compile(p);
Matcher matcher = pattern.matcher(example);
if (matcher.find()) {
System.out.println("目标内容是:" + matcher.group(1));
}
或者
String example = "100001-安工部责任人";
String interestStr = example.substring(example.indexOf("-") + 1);
System.out.println("目标内容是:" + interestStr);
方式1正则表达式,
第二,不确定前几位就不能用substring了,你再好好想想,当你用substring的时候,缺少的东西能不能拿到
String value = "100001-安工部责任人";
String[] valueArr = value.split("-");
if (valueArr.length() >= 2) {
System.out.println("目标内容是:" + valueArr[1]);
}
方法有很多
1.split('-')
2.先获取indexof('-'),再substring
3.正则表达式