回答編集履歴
3
修正
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
Matcher m = p.matcher("play ing");
|
7
7
|
System.out.println(m.replaceAll(""));
|
8
8
|
```
|
9
|
-
もし「正規表現に一致する文字列だけを取り出して再構成する」としたいのでしたら
|
9
|
+
もし「正規表現に一致する文字(列)だけを取り出して再構成する」としたいのでしたら
|
10
10
|
```java
|
11
11
|
Pattern p = Pattern.compile("[a-zA-Z]");
|
12
12
|
Matcher m = p.matcher("play ing");
|
2
さらに追加
test
CHANGED
@@ -6,3 +6,11 @@
|
|
6
6
|
Matcher m = p.matcher("play ing");
|
7
7
|
System.out.println(m.replaceAll(""));
|
8
8
|
```
|
9
|
+
もし「正規表現に一致する文字列だけを取り出して再構成する」としたいのでしたら
|
10
|
+
```java
|
11
|
+
Pattern p = Pattern.compile("[a-zA-Z]");
|
12
|
+
Matcher m = p.matcher("play ing");
|
13
|
+
StringBuilder sb = new StringBuilder();
|
14
|
+
while(m.find()) sb.append(m.group());
|
15
|
+
System.out.println(sb.toString());
|
16
|
+
```
|
1
コード片追加
test
CHANGED
@@ -1,3 +1,8 @@
|
|
1
1
|
正規表現は(文字列の)表現であって、文字列をどう加工するかとは違います。まして Pattern クラスはその表現を保持するクラスであって、加工処理をしないのはドキュメントを見れば分かると思います。その辺りの認識はあっているでしょうか。
|
2
2
|
|
3
3
|
Pattern クラスで空白にマッチする正規表現を保持させ、それを処理対象とマッチさせて Matcher インスタンスを得て、マッチした部分をどうにかする処理を書くことになります。
|
4
|
+
```java
|
5
|
+
Pattern p = Pattern.compile(" ");
|
6
|
+
Matcher m = p.matcher("play ing");
|
7
|
+
System.out.println(m.replaceAll(""));
|
8
|
+
```
|