このようなケースだと \?
のようにバックスラッシュが2回必要です。
半角スペースは正規表現だと \s
が使えます。
参考
https://qiita.com/ue5963/items/bd8e32ac9e6b12aa7fab
せっかく正規表現が使えるので、3つまとめて処理するコードに簡略化もできます。
GAS
1body.replaceText("[\?\.\s]", ""); //この場合は "[?. ]" でもOK
2
他のGoogleドキュメントのGASの質問に回答した際に、こちらにも応用効きそうだなと思いつき、今更ながら回答を追記。
「 」(半角スペース)「.」「?」の文字3つを改行コードに置換ですが、replaceText
では改行コード\n
への置換は出来ないけど、別のアプローチで1文字ずつチェックしていって、該当の文字にマッチしたらその文字を削除deleteText
して、改行コードをその場所に挿入insertText
で代替が出来ますね。
こんな方法もあるってことで参考までに。
GAS
1function test0930() {
2 const body = DocumentApp.getActiveDocument().getBody();
3 const text = body.editAsText();
4
5 const plainText = text.getText();
6
7 for(i=0;i<plainText.length; i++){
8 if(plainText[i].match(/[?. ]/)){
9 text.deleteText(i,i);
10 text.insertText(i,"\n");
11 }
12 }
13}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/07 08:41
2021/09/07 09:47
2021/09/07 10:23
2021/09/08 02:02 編集
2021/09/08 02:25