English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Класс символов Posix\ p {ASCII} Соответствует символам ASCII, а символ ^ используется как отрицательное число.
Это означает, что следующее выражение соответствует всем символам, не являющимся ASCII.
"[^\\p{ASCII}]"
replaceAll()
Методы класса String, принимающие регулярное выражение и строку замены, заменяют символы текущей строки на указанную строку замены (соответствующие заданному шаблону).
Таким образом, вы можете использоватьreplaceAll()
Метод заменяет соответствующие символы на пустую строку «» для удаления соответствующих символов.
import java.util.Scanner; public class Exp { public static void main(String args[]) { Scanner sc = new Scanner(System.in); String regex = "[^\\p{ASCII}]"; System.out.println("Введите данные ввода:"); String input = sc.nextLine(); String result = input.replaceAll(regex, ""); System.out.println("Result: " + result); } }
Результат вывода
Введите данные ввода: why do we fall Result: why do we fall
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Enter input string:"); String input = sc.nextLine(); String regex = "[^\\p{ASCII}]"; // Создается объект шаблона Pattern pattern = Pattern.compile(regex); // Поиск введенной строки по предварительно скомпилированному шаблону Matcher matcher = pattern.matcher(input); // Создается пустой строковый буфер StringBuffer sb = new StringBuffer(); while (matcher.find()) { matcher.appendReplacement(sb, ""); } matcher.appendTail(sb); System.out.println("Result: "+ sb.toString()); } }
Результат вывода
Enter input string: why do we fall Result: why do we fall