java截取字段问题

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.正则表达式