Java:附加字符串需要删除某些部分

时间:2018-02-23 17:38:49

标签: java

我想知道我希望之前删除附加的字符串,我该怎么做。

  Example                        getValue() value is
  --------------------------     ------------------------
  information1.getValue()         Test A </n>abc = 1234
  information2.getValue()         Test A </n>def = Test B
  information3.getValue()         123 </n>jkl = Test B
  information4.getValue()         123 </n>abc = Test A

我应该得到的预期输出是

  Output
  -------
  abc
  def
  jkl
  abc

我应该在&lt;之前忽略字符。 / N&GT; = =

之后的字符

3 个答案:

答案 0 :(得分:5)

System.out.println(information1.getValue().substring(
    information1.getValue().indexOf(">")+1,
    information1.getValue().indexOf("=")).trim());

使用下方链接查看示例

  

https://repl.it/repls/AmazingSmoothAnalyst

使用StringBuffer

StringBuffer sb = new StringBuffer(information1.getValue());
      sb.delete(0,sb.indexOf(">")+1).delete(sb.indexOf("=")-1,sb.length()); 
      System.out.println(sb); 

答案 1 :(得分:0)

我会使用正则表达式。

Pattern p = Pattern.compile(".*<\\n>([^ ]*). =. *");
String replaced = p.matcher(s.getValue()).group(1));

答案 2 :(得分:0)

你应该使用正则表达式捕获单词,预测<NumberInput />和lookbehind (?<=)标记可以捕获单词

(?=)

输出

String regx="(?<=</n>)(.*)(?==)";
Pattern datePatt = Pattern.compile(regx);
Matcher m = datePatt.matcher("Test A </n>abc = 1234");
System.out.println("checking");
if(m.find()){
  System.out.println(m.group(0));
}