使用字符串构建器替换java中的字符串

时间:2013-07-03 05:58:41

标签: java regex stringbuilder

我在java中有一个String:

String str = "150,def,ghi,jkl";

我希望获得子字符串直到第一个逗号,对它进行一些操作然后用修改后的字符串替换它。

我的代码:

StringBuilder sBuilder = new StringBuilder(str);

String[] temp = str.split(",");
String newVal = Integer.parseInt(temp[0])*10+"";

int i=0;
for(i=0; i<str.length(); i++){
  if(str.charAt(i)==',') break;
}

sBuilder.replace(0, i, newVal);

这样做的最佳方法是什么,因为我正在处理大数据这个代码将被调用数百万次,我想知道是否有可能避免循环。

4 个答案:

答案 0 :(得分:3)

您也可以使用String Object本身的方法replace()

String str = "150,def,ghi,jkl";
String[] temp = str.split(",");
String newVal = Integer.parseInt(temp[0])*10+"";

String newstr = newVal + str.substring(str.indexOf(","),str.length());

答案 1 :(得分:1)

    String str = "150,def,ghi,jkl";
    String newVal = Integer.parseInt(str.substring(0,str.indexOf(",")))*10+"";

答案 2 :(得分:0)

这至少应该避免过多的字符串连接和正则表达式。

String prefix = sBuilder.substring(0, sBuilder.indexOf(","));
String newVal = ...;
sBuilder.replace(0, newVal.length(), newVal);

答案 3 :(得分:0)

现在不要对你有用,但我们经常使用:

org.springframework.util.StringUtils

在StringUtils类中,您可以使用许多有用的逗号分隔文件方法。