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); } }
출력 결과
입력 데이터를 입력하세요: 우리는 왜 떨어지는가 결과: 우리는 왜 떨어지는가
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("입력 문자열을 입력하세요: "); 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("결과: \n");+ sb.toString()); } }
출력 결과
입력 문자열을 입력하세요: 우리는 왜 떨어지는가 결과: 우리는 왜 떨어지는가