USE SPLIT METHOD WITH STRINGBUILDER TOGETHER IN THE SAME CLASS?

Monaj Singh

Total Post:41

Points:287
Posted by  Monaj Singh
Java  String 
 448  View(s)
Ratings:
Rate this:
StringBuilder to hide vowels:

String bienvenue_intro = " Welcome! Java First Semester: 455, java street: City (State): Country: 575757 ";
            StringBuilder sb = new StringBuilder(bienvenue_intro);
             String[] introduction = bienvenue_intro.split(":"); 
            for (int i = 0; i < bienvenue_intro.length(); i++)
            {
                char c = bienvenue_intro.charAt(i);
                if (   (c == 'A') || (c == 'a')
                     || (c == 'E') || (c == 'e')
                     || (c == 'I') || (c == 'i')
                     || (c == 'O') || (c == 'o')
                     || (c == 'U') || (c == 'u'))
                {
                    sb.setCharAt(i, '*');
                }
            }
            System.out.println(bienvenue_intro);;
            System.out.println(sb.toString());

The output of the above code is:

Welcome! Java First Semester: 455, java street: City (State): Country: 575757 
 W*lc*m*! J*v* F*rst S*m*st*r: 455, j*v* str**t: C*ty (St*t*): C**ntry: 575757 
Method split to break the lines:

for (int i = 0; i < introduction.length; i++)
            System.out.println(introduction[i]);
The desired output using split + string builder would be:

W*lc*m*! J*v* F*rst S*m*st*r
 455, j*v* str**t
 C*ty (St*t*)
 C**ntry
 575757 
But both together it does not work! Is it even possible to team StringBuilder with the Split method?
  1. Mayank Tripathi

    Post:397

    Points:3117
    Re: Use split method with stringbuilder together in the same class?

    Don't split the String before, first to the transformation. StringBuilder will perform the in-place character replacement for you and get the replaced String using toString() and perform the split on it.

    String bienvenue_intro = " Welcome! Java First Semester: 455, java street: City (State): Country: 575757 ";
    StringBuilder sb = new StringBuilder(bienvenue_intro);
    for (int i = 0; i < bienvenue_intro.length(); i++) {
      char c = bienvenue_intro.charAt(i);
      if (   (c == 'A') || (c == 'a')
          || (c == 'E') || (c == 'e')
          || (c == 'I') || (c == 'i')
          || (c == 'O') || (c == 'o')
          || (c == 'U') || (c == 'u')) {
        sb.setCharAt(i, '*');
      }
    }
    System.out.println(bienvenue_intro);
    //System.out.println(sb.toString());
    String[] introduction = sb.toString().split(":");  //<-- Do the split here after replacements.
    for (String string : introduction) {
      System.out.println(string);
    }
    Output:
     W*lc*m*! J*v* F*rst S*m*st*r
     455, j*v* str**t
     C*ty (St*t*)
     C**ntry
     575757 

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!