0

我在 java 中有一个字符串:

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

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

4

4 回答 4

3

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

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());
于 2013-07-03T06:07:08.943 回答
1
    String str = "150,def,ghi,jkl";
    String newVal = Integer.parseInt(str.substring(0,str.indexOf(",")))*10+"";
于 2013-07-03T06:25:11.293 回答
0

Don't now if this is useful to you but we often use :

org.springframework.util.StringUtils

In the StringUtils class you have alot of useful methods for comma seperated files.

于 2013-07-03T06:18:10.930 回答
0

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

String prefix = sBuilder.substring(0, sBuilder.indexOf(","));
String newVal = ...;
sBuilder.replace(0, newVal.length(), newVal);
于 2013-07-03T06:08:19.237 回答