English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 정규 표현식은 모든 특수 문자를 매칭합니다. 즉, 영어 알파벳, 공백, 숫자를 제외한 모든 문자입니다.
"[^a-zA-Z0-9\\s+]"
모든 특수 문자를 지정된 행의 마지막에 이동시키려면, 모든 특수 문자를 빈 문자열로 일치시키는 이 정규 표현식을 사용하여 모든 특수 문자를 매칭하고, 나머지 문자를 다른 문자열로 연결하여 이 두 문자열을 연결합니다.
public class RemovingSpecialCharacters { public static void main(String args[]) { String input = "예제 # 텍스트 * 특수 문자가 포함된 & @ String regex = "[^a-zA-Z0-9\\s+]"; String specialChars = ""; String inputData = ""; for(int i=0; i< input.length(); i++) { char ch = input.charAt(i); if(String.valueOf(ch).matches(regex)) { specialChars = specialChars; + ch; } else { inputData = inputData + ch; } } System.out.println("결과: "+inputData+specialChars); } }
출력 결과
결과: 예제 텍스트에 특수 문자가 포함된 #*&@
다음은 Regex 패키지의 메서드를 사용하여 문자열의 특수 문자를 마지막에 이동시키는 Java 프로그램입니다.
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { public static void main(String args[]) { String input = "예제 # 텍스트 * 특수 문자가 포함된 & @ String regex = "[^a-zA-Z0-9\\s+]"; String specialChars = ""; System.out.println("입력 문자열: "+input); //패턴 객체를 생성합니다 Pattern pattern = Pattern.compile(regex); //문자열에서 이미 컴파일된 패턴을 일치시킵니다 Matcher matcher = pattern.matcher(input); //비어 있는 문자열 버퍼를 생성합니다 StringBuffer sb = new StringBuffer(); while (matcher.find()) { specialChars = specialChars;+matcher.group(); matcher.appendReplacement(sb, ""); } matcher.appendTail(sb); System.out.println("결과: "+ sb.toString();+specialChars ); } }
출력 결과
입력 문자열: 예제 # 텍스트 * 특수 문자가 포함된 & @ 결과: 특수 문자가 포함된 예제 텍스트#*&@