如何从字符串
中提取定界符'<'和'>'之间的字符串 “Rahul<is>an<entrepreneur>”
我尝试使用substring()方法,但是我只能从主字符串中提取一个字符串。如何循环此操作并从主字符串中获取定界符之间的所有字符串
答案 0 :(得分:2)
您可以使用Pattern
和Matcher
进行模式查找。例如,请参见下面的代码:
String STR = "Rahul<is>an<entrepreneur>";
Pattern pattern = Pattern.compile("<(.*?)>", Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(STR);
while (matcher.find()) {
System.out.println(matcher.start() + " " + matcher.end() + " " + matcher.group());
}
上面的输出将为您提供开始和结束索引以及组子字符串:
5 9 <is>
11 25 <entrepreneur>
更具体地说,如果只需要字符串,则可以在组开始索引和结束索引之间获取字符串。
STR.substring(matcher.start()+ 1,matcher.end()-1);
这只会给您匹配的字符串。
答案 1 :(得分:-1)
这对我有用:
String str = "Rahul<is>an<entrepreneur>";
String[] tempStr = str.split("<");
for (String st : tempStr) {
if (st.contains(">")) {
int index = st.indexOf('>');
System.out.println(st.substring(0, index));
}
}
输出: 是 企业家