如何从字符串“ Rahul <is> an <企业家”中提取定界符“ <”和“>”之间的字符串?

时间:2019-10-09 05:38:50

标签: java string

如何从字符串

中提取定界符'<'和'>'之间的字符串
 “Rahul<is>an<entrepreneur>”

我尝试使用substring()方法,但是我只能从主字符串中提取一个字符串。如何循环此操作并从主字符串中获取定界符之间的所有字符串

2 个答案:

答案 0 :(得分:2)

您可以使用PatternMatcher进行模式查找。例如,请参见下面的代码:

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));
        }

    }

输出: 是 企业家