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