Java 两个不同符号的第一个实例之间的子字符串

Java 两个不同符号的第一个实例之间的子字符串,java,string,Java,String,我想解析以下内容并将其存储为一个新字符串,条件是存储mawi,并删除所有其他内容 <ns0:Assignee>mawi - Manfred Wilson</ns0:Assignee> 不知道从这里到哪里去。。。有什么想法吗?尽管下面的代码可以做到这一点,但如果您正在处理这样的多个字符串,我建议您使用Jsoup或XML解析 Pattern pattern = Pattern.compile("<ns0:Assignee>(.+?)</ns0:Assi

我想解析以下内容并将其存储为一个新字符串,条件是存储mawi,并删除所有其他内容

<ns0:Assignee>mawi - Manfred Wilson</ns0:Assignee>

不知道从这里到哪里去。。。有什么想法吗?

尽管下面的代码可以做到这一点,但如果您正在处理这样的多个字符串,我建议您使用Jsoup或XML解析

  Pattern pattern = Pattern.compile("<ns0:Assignee>(.+?)</ns0:Assignee>");
  Matcher matcher = pattern.matcher("<ns0:Assignee>mawi - Manfred Wilson</ns0:Assignee>");
  matcher.find();
  String result = matcher.group(1);
  String finalString = result.split(" - ")[0];
  System.out.println(finalString); // mawi 

尽管下面的代码可以做到这一点,但如果您正在处理这样的多个字符串,我建议您使用Jsoup或XML解析

  Pattern pattern = Pattern.compile("<ns0:Assignee>(.+?)</ns0:Assignee>");
  Matcher matcher = pattern.matcher("<ns0:Assignee>mawi - Manfred Wilson</ns0:Assignee>");
  matcher.find();
  String result = matcher.group(1);
  String finalString = result.split(" - ")[0];
  System.out.println(finalString); // mawi 
显示以下内容:

String s = "<ns0:Assignee>mawi - Manfred Wilson</ns0:Assignee>";
s = s.substring(s.indexOf("<ns0:Assignee>")+"<ns0:Assignee>".length(), s.indexOf("</ns0:Assignee>"));
显示以下内容:

String s = "<ns0:Assignee>mawi - Manfred Wilson</ns0:Assignee>";
s = s.substring(s.indexOf("<ns0:Assignee>")+"<ns0:Assignee>".length(), s.indexOf("</ns0:Assignee>"));

如果所有字符串都像示例字符串一样构建,则可以执行以下操作:

initial.substring(initial.indexOf('>') + 1, initial.indexOf(' '));
注意开始索引处的+1


当字符串更复杂时,我建议使用库来处理XML或使用正则表达式。

如果所有字符串都像示例字符串一样构建,则可以使用以下方法:

initial.substring(initial.indexOf('>') + 1, initial.indexOf(' '));
注意开始索引处的+1

当字符串更复杂时,我建议您使用库来处理XML或使用正则表达式。

因此现在您得到了子字符串,它等于:>mawi-Manfred Wilson

现在,您可以再次对子字符串执行子字符串以仅查找mawi,如下所示

String initial = "<ns0:Assignee>mawi - Manfred Wilson</ns0:Assignee>";
String midSub = initial.substring(initial.indexOf('>'));
String finalSub = midSub.substring(1, midSub.indexOf(' ')); // 1 because we still have `>`
System.out.println(finalSub);
现在你得到了子串,它等于:>mawi-Manfred Wilson

现在,您可以再次对子字符串执行子字符串以仅查找mawi,如下所示

String initial = "<ns0:Assignee>mawi - Manfred Wilson</ns0:Assignee>";
String midSub = initial.substring(initial.indexOf('>'));
String finalSub = midSub.substring(1, midSub.indexOf(' ')); // 1 because we still have `>`
System.out.println(finalSub);

您正在删除XML?如果是,请使用XML解析器substringbefore/SubstringAfter/SubstringBetween-相对于其他字符串的子字符串提取:您正在配对XML?如果是,请使用XML解析器substringbefore/SubstringAfter/SubstringBetween-相对于其他字符串的子字符串提取:This.+?如果两个子字符串之间有换行符,则不起作用。添加一个Pattern.DOTALL标志?如果两个子字符串之间有换行符,则不起作用。添加Pattern.DOTALL标志。