Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 정규식을 사용하여 단일 공백을 사용하여 문자열의 여러 공백을 바꾸는 방법은 무엇입니까?

<시간/>

메타 문자 “\\” 공백과 일치하고 +는 공백이 한 번 이상 발생함을 나타내므로 정규식 \\S+는 모든 공백 문자(단일 또는 다중)와 일치합니다. 따라서 여러 공백을 하나의 공백으로 대체합니다.

입력 문자열을 위의 정규식과 일치시키고 결과를 단일 공백 ​​" "으로 바꿉니다.

예시 1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ReplaceAllExample {
   public static void main(String args[]) {
      //Reading String from user
      System.out.println("Enter a String");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      String regex = "\\s+";
      //Compiling the regular expression
      Pattern pattern = Pattern.compile(regex);
      //Retrieving the matcher object
      Matcher matcher = pattern.matcher(input);
      //Replacing all space characters with single space
      String result = matcher.replaceAll(" ");
      System.out.print("Text after removing unwanted spaces: \n"+result);
   }
}

출력

Enter a String
hello this is a sample text with irregular spaces
Text after removing unwanted spaces:
hello this is a sample text with irregular spaces

예시 2

import java.util.Scanner;
public class Test {
   public static void main(String args[]) {
      //Reading String from user
      System.out.println("Enter a String");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      //Regular expression to match space(s)
      String regex = "\\s+";
      //Replacing the pattern with single space
      String result = input.replaceAll(regex, " ");
      System.out.print("Text after removing unwanted spaces: \n"+result);
   }
}

출력

Enter a String
hello this is a sample text with irregular spaces
Text after removing unwanted spaces:
hello this is a sample text with irregular spaces