我在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);
这样做的最佳方法是什么,因为我正在处理大数据这个代码将被调用数百万次,我想知道是否有可能避免循环。
答案 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类中,您可以使用许多有用的逗号分隔文件方法。