簡體   English   中英

使用字符串生成器替換Java中的字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM