使用stringbuilder获取值直到字符(包括检查字符)

时间:2014-06-11 08:53:57

标签: java string stringbuilder boundary

如何"A"

检查行的开头是Ablahblablah后面是否StringBuilder sb = new StringBuilder(); String[] lines1 = sb.toString().split("\\n"); for(String getVal: lines1){ while(getVal.contains("^A\\w*")){ temp.append(getVal);//If found store all the former values and line including A + 2 characters in a temp buffer } } System.out.println("temp = " + temp.toString());
temp =

输出

if(getVal.startsWith("6000")){

Temp返回空。

我做错了什么。

更新

使用:temp

我得到了所需的输出。 这个逻辑中的任何问题。

如何从现有的 sb 中删除{{1}}?

5 个答案:

答案 0 :(得分:2)

您需要使用matches()方法,而不是contains()

答案 1 :(得分:1)

为什么不做呢

if (getVal.startWith("A")) {
   ...

答案 2 :(得分:0)

像这样:

StringBuilder sb = new StringBuilder();
.
.
.
String[] lines1 = sb.toString().split("\\n");
for(String getVal: lines1){
 while(getVal.matches("A\\w*")){
    temp.append(getVal);//If found store all the former values and line including A + 2 characters in a temp buffer
  }
}
System.out.println("temp = " + temp.toString());

答案 3 :(得分:0)

谢谢每一个

我找到了答案

String[] lines1 = sb.toString().split("\\n");
StringBuilder temp = new StringBuilder();
for(String getVal: lines1){
 if(getVal.startsWith("6000")){
     temp.append(getVal);
     break;
 }
 else{
     temp.append(getVal);
 }
 temp.append("\n");
}

答案 4 :(得分:-1)

由于temp.的范围,你在循环之外声明了变量temp?