基本的に、スペース/句読点/数字を削除したい大きな文字列がたくさんあります。単語が欲しいだけです。
これは私のコードです:
String str = "hughes/conserdyne corp, unit <hughes capital corp> made bear stearns <bsc> exclusive investment banker develop market 2,188,933 financing design installation micro-utility systems municipalities. company systems self-contained electrical generating facilities alternate power sources, photovoltaic cells, replace public utility power sources.";
String[] arr = str.split("[\\p{P}\\s\\t\\n\\r<>\\d]");
for (int i = 0; i < arr.length; i++) {
if(arr[i] != null)
System.out.println(arr[i]);
}
これは私が得る出力です:
hughes
conserdyne
corp
unit
lt
hughes
capital
corp
made
bear
stearns
lt
bsc
exclusive
investment
banker
develop
market
financing
design
installation
micro
utility
systems
municipalities
company
systems
self
contained
electrical
generating
facilities
alternate
power
sources
photovoltaic
cells
replace
public
utility
power
sources
ご覧のとおり、コンマや数字があった場所に空白などがたくさんあります。印刷条件の有無にかかわらず、これを取得します。
それでも、arr のすべてのコンテンツを新しい文字列に連結し、それを正規表現 "\s+" で分割すると、機能して正しい出力が生成されます。
では、現在の正規表現の何が問題になっているのでしょうか? どんな助けでも大歓迎です。