句読点の正規表現

1588 ワード

方法1:
 Pattern pattern = Pattern.compile("^['\"{}\\(\\)\\[\\]\\*&.?!,…:;]+$");           
      
      for(int i = 0; i < listWord.size(); i++)
      {  
    	  String whichStr = listWord.get(i);  
          
    	  Matcher matcher = pattern.matcher(whichStr);  
          
    	  char[] c = whichStr.toCharArray();  

          if(matcher.matches())
          {  
        	  charNum = charNum + c.length; //   0  ,
        	  
          }else
          {  
        	  charNum = charNum + c.length + 1;  
          } 
      }

このように、正規表現のキーワードはで変換されることに注意してください.
方法2:
\\pP|\\pS
public static void main(String[] args){

String string="  <>《》!*(^)$%~!@#$…&%¥—+=、。,;‘’“”:·`  ";

System.out.println(string.replaceAll("\\pP|\\pS", ""));

}

出力結果:
テストテキスト
 
 
参考の主な内容は以下の通りです.
 
Unicode符号化は,ある文字に対して単純に符号化を定義しただけでなく,分類した.
/pPの中の小文字pはpropertyの意味で、Unicodeの属性を表し、Unicodeの正式の接頭辞に用いられる.
大文字PはUnicode文字セットの7文字属性の1つである句読点文字を表す.
他の6つは
L:アルファベット;
M:タグ記号(一般的には単独では現れない);
Z:区切り記号(スペース、改行など);
S:記号(数学記号、通貨記号など);
N:数字(例えばアラビア数字、ローマ数字など);
C:その他の文字
上の7つは属性で、7つの属性の下にはいくつかのサブ属性があり、さらに細分化するために使用されます.
JavaでUnicodeに使用される正規表現データは、Unicode組織によって提供されます.
Unicode正規表現基準(すべてのサブプロパティを見つけることができます)
http://www.unicode.org/reports/tr18/
各Unicode文字属性の定義は、ある文字がどのような属性を持っているかを見ることができます.
http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
この文書ドキュメントの行は1文字で、1列目はUnicode符号化、2列目は文字名、3列目はUnicode属性です.
その他の文字情報.