Java
 Computer >> コンピューター >  >> プログラミング >> Java

文字列から非ASCII文字を削除する方法


Posix文字クラス\ p {ASCII} ASCII文字と一致し、メタ文字^は否定として機能します。

つまり、次の式はすべての非ASCII文字に一致します。

"[^\\p{ASCII}]"

StringクラスのreplaceAll()メソッドは、正規表現と置換文字列を受け入れ、現在の文字列(指定されたパターンに一致する)の文字を指定された置換文字列に置き換えます。

したがって、replaceAll()メソッドを使用して、一致した文字を空の文字列「」に置き換えることで、一致した文字を削除できます。

例1

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("Enter input data:");
      String input = sc.nextLine();
      String result = input.replaceAll(regex, "");
      System.out.println("Result: "+result);
   }
}

出力

Enter input data:
whÿ do we fall
Result: wh do we fall

例2

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}]";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(input);
      //Creating an empty string buffer
      StringBuffer sb = new StringBuffer();
      while (matcher.find()) {
         matcher.appendReplacement(sb, "");
      }
      matcher.appendTail(sb);
      System.out.println("Result: \n"+ sb.toString() );
   }
}

出力

Enter input string:
whÿ do we fall
Result:
wh do we fall

  1. Pythonで文字列から特定の文字を削除するにはどうすればよいですか?

    文字列クラスには、文字列内のサブ文字列を置き換えるために使用できるメソッドreplaceがあります。このメソッドを使用して、削除する文字を空の文字列に置き換えることができます。例: >>> "Hello people".replace("e", "") "Hllo popl" 1行の文字列から複数の文字を削除する場合は、正規表現を使用することをお勧めします。複数の文字は「|」で区切ることができますそして、re.sub(chars_to_replace、string_to_replace_with

  2. Javaで文字列を比較する方法

    文字列が等しいかどうかを比較するには、Stringオブジェクトのequalsを使用する必要があります またはequalsIgnoreCase メソッド。 ==を使用すべきでない理由もわかります 文字列を比較する演算子。 文字列とequals()メソッドの比較 Javaで2つの文字列を比較する必要があり、文字列の大文字と小文字も気にする必要がある場合は、equals()を使用できます。 メソッド。 たとえば、次のスニペットは、文字列の2つのインスタンスが大文字小文字を含むすべての文字で等しいかどうかを判断します。 public class CompareTwoStrings { p