Java >> Java tutorial >  >> Tag >> String

Java Fjern specialtegn fra streng

Java Fjern specialtegn fra streng | Bortset fra alfanumeriske tegn betragtes de resterende andre tegn som specialtegn. Et tal eller et alfabet betragtes ikke som specialtegn. For eksempel "[email protected]#$%^&*" betegnes disse tegn som specialtegn. Disse tegn behøver ikke at blive brugt overalt, nogle gange kan de være uønskede.

Java-streng erstatter specialtegn

Her vil vi erstatte et enkelt specialtegn med et alfabet. For at gøre dette kan vi bruge metoden replaceAll() tilgængelig i Java. Vi udskriver både den faktiske streng og streng efter udskiftningen, så forskellen let kan findes.

public class Main {
   public static void main(String[] args) {
      String string = "[email protected] [email protected]";
      System.out.println("Actual String = " + string);

      string = string.replaceAll("[@]", "o");
      System.out.println("String after replacement = " + string);
   }
}

Output:

Faktisk streng [email protected] [email protected]
String efter udskiftning =Kend program

I ovenstående program er alle "@" specialtegn erstattet med det nye tegn "o". Derfor bliver strengen "[email protected] [email protected]" til "Kend Program.

Sådan fjerner du specielle tegn fra en streng i Java ved hjælp af Regex

Tidligere har vi erstattet alle specialtegnene i en streng ved at bruge metoden replaceAll(). Vi kan gøre det samme ved at bruge regulære udtryk. I replaceAll()-metoden bruger vi '^' . Dette tegn vælger de andre tegn undtagen det nævnte tegn.

public class Main {
   public static void main(String[] args) {
      String string = "@Know$ ##Pr%ogram*";
      System.out.println("Actual String = " + string);

      string = string.replaceAll("[^a-zA-Z]", "");
      System.out.println("String after replacement = " + string);
   }
}

Output:

Faktisk streng =@Know$ ##Pr%ogram*
String efter udskiftning =KnowProgram

Java Erstat alle specialtegn fra streng

I denne kode bruger vi if-blokken i løkken til at specificere karakterens behov, bortset fra specificerede tegn vil alle de andre tegn blive fjernet. I if-tilstanden har vi skrevet koden sådan, at andre tegn end a-z, A-Z og 0-9 vil blive fjernet fra strengen. Denne kode fjerner også mellemrum.

Java-program til at fjerne mellemrum og specialtegn fra streng

public class Main {
   public static void main(String[] args) {
      String string = "Kno$*w;..,98   P7rogr5'a^m?6";
      for (int i = 0; i < string.length(); i++) {
         if ((string.charAt(i) < 'A' || string.charAt(i) > 'Z') && 
            (string.charAt(i) < 'a' || string.charAt(i) > 'z') &&
            (string.charAt(i) < '0' || string.charAt(i) > '9')) {
            string = string.substring(0, i) + string.substring(i + 1);
            i--;
         }
      }
      System.out.print(string);
   }
}

Output:

Know98P7rogr5am6

Java Fjern førende specialtegn fra streng

Nu fjerner vi kun specialtegnet i første omgang. Det kan vi gøre ved at angive indekset. For at fjerne det førende første specialtegn opretter vi en statisk metode removeLeading(), som bruger StringBuilder-klassen og brugte if-løkken til at fjerne specialtegnet ved det bestemte indeks.

public class Main {
   public static String removeLeading(String s) {
      StringBuilder sb = new StringBuilder(s);
      while ( sb.length() > 1 && sb.charAt(0) == '@' || 
            sb.charAt(0) == '!' || sb.charAt(0) == '#' || 
            sb.charAt(0) == '$' || sb.charAt(0) == '%') {
         sb.deleteCharAt(0);
      }
      return sb.toString();
   }

   public static void main(String[] args) {
      String string = "%Kno$*w;..,   Progr'a^m?0";
      System.out.println(removeLeading(string));
   }
}

Output:-

Kno$*w;.., Progr’a^m?0

Fjern sidste specialtegn fra streng Java

For at fjerne de sidste specialtegn fra strengen, opretter vi igen en statisk metode removeLast(), som bruger StringBuilder-klassen til at manipulere streng ved at bruge if-løkke.

public class Main {

   public static String removeLast(String s) {
      StringBuilder sb = new StringBuilder(s);
      while (sb.length() > 1 && sb.charAt(sb.length() - 1) == '@' || 
            sb.charAt(sb.length() - 1) == '!'|| 
            sb.charAt(sb.length() - 1) == '#' || 
            sb.charAt(sb.length() - 1) == '$'|| 
            sb.charAt(sb.length() - 1) == '%') {
         sb.setLength(sb.length() - 1);
      }
      return sb.toString();
   }

   public static void main(String[] args) {
      String s = "%Kno$*w;..,   Progr'a^m#";
      System.out.println(removeLast(s));
   }
}

Output:

%Kno$*w;.., Progr’a^m


Java tag