[英]replace string in java using string builder
我在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);
最好的方法是什么,因為我正在處理大數據,因此該代碼將被調用數百萬次,我想知道是否有可能避免for循環。
您也可以使用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());
String str = "150,def,ghi,jkl";
String newVal = Integer.parseInt(str.substring(0,str.indexOf(",")))*10+"";
這至少應避免過多的String連接和正則表達式。
String prefix = sBuilder.substring(0, sBuilder.indexOf(","));
String newVal = ...;
sBuilder.replace(0, newVal.length(), newVal);
如果對您有用,請不要使用,但是我們經常使用:
org.springframework.util.StringUtils
在StringUtils類中,您可以使用許多有用的方法來分隔逗號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.