bigData
bigData

Reputation: 1318

replace string in java using string builder

I have a String in java :

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

I want to get sub string till first comma, do some manipulations on it and then replace it by modified string.

My code :

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

What is the best way to do this because I am working on big data this code will be called millions of times, I am wondering if there is possibility of avoiding for loop.

Upvotes: 0

Views: 446

Answers (4)

Ruchira Gayan Ranaweera
Ruchira Gayan Ranaweera

Reputation: 35557

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

Upvotes: 1

Jimmy Geers
Jimmy Geers

Reputation: 742

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.

Upvotes: 0

Kayaman
Kayaman

Reputation: 73558

This should at least avoid excessive String concatenation and regular expressions.

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

Upvotes: 0

PVR
PVR

Reputation: 2524

You also can use the method replace() of String Object itself.

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

Upvotes: 3

Related Questions