Символ, който не е буквен или цифров знак, се нарича специален знак. Трябва да премахнем всички специални символи от низа, за да можем да четем низа ясно и гладко. Специалните символи не се четат, така че би било добре да ги премахнете преди четене.
Java replaceAll() метод
Java замениВсички() метод на низ клас замества всеки подниз от този низ, който съответства на дадения регулярен израз със замяната.
Синтаксис
азбука до число
public String replaceAll(String regex, String replacement)
Този метод приема две параметри:
То връща резултантен низ . Хвърля се PatternSyntaxException ако синтаксисът на регулярния израз е невалиден. Горният метод дава същия резултат като израза:
аналогова комуникация
Pattern.compile(regex).matcher(str).replaceAll(repl)
Пример за премахване на специални знаци чрез метод replaceAll().
В следващия пример методът removeAll() премахва всички специални знаци от низа и поставя интервал на тяхно място.
public class RemoveSpecialCharacterExample1 { public static void main(String args[]) { String str= 'This#string%contains^special*characters&.'; str = str.replaceAll('[^a-zA-Z0-9]', ' '); System.out.println(str); } }
Изход
This string contains special characters
Пример
В следващия пример заменяме всички специални символи с интервал.
public class RemoveSpecialCharacterExample2 { public static void main(String args[]) { String str = 'Hello+-^Java+ -Programmer^ ^^-- ^^^ +!'; str = str.replaceAll('[-+^]*', ' '); //str=str.replaceAll('\W', ' ') //we can also use this regular expression System.out.println(str); } }
Изход
Hello Java Programmer !
Пример за премахване на специални символи с помощта на дефинирана от потребителя логика
java отворен файл
В следващия пример дефинираме логика за премахване на специални знаци от низ. Знаем, че ASCII стойността на азбуките с главни букви започва от 65 до 90 (A-Z), а ASCII стойността на азбуката с малки букви започва от 97 до 122 (a-z). Всеки знак се сравнява със съответната ASCII стойност. Ако и двете посочени условия връщат true, то връща true, иначе връща false. The за цикъл изпълнява до дължината на низа. Когато низът достигне своя размер, той прекратява изпълнението и получаваме резултантния низ.
public class RemoveSpecialCharacterExample3 { public static void main(String[] args) { //declare a string having special characters String str='Pr!ogr#am%m*in&g Lan?#guag(e'; String resultStr=''; //loop execute till the length of the string for (int i=0;i64 && str.charAt(i)<=122) returns true if both conditions { adding characters into empty string resultstr="resultStr+str.charAt(i);" } system.out.println('string after removing special characters: '+resultstr); < pre> <p> <strong>Output</strong> </p> <pre> String after removing special characters: ProgrammingLanguage </pre> <hr></=122)>
=122)>