teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

回答を追加

2021/09/30 13:04

投稿

sawa
sawa

スコア3002

answer CHANGED
@@ -10,4 +10,27 @@
10
10
  ```GAS
11
11
  body.replaceText("[\?\.\s]", ""); //この場合は "[?. ]" でもOK
12
12
 
13
+ ```
14
+
15
+ ---
16
+ 他のGoogleドキュメントのGASの質問に回答した際に、こちらにも応用効きそうだなと思いつき、今更ながら回答を追記。
17
+
18
+ 「 」(半角スペース)「.」「?」の文字3つを改行コードに置換ですが、`replaceText`では改行コード`\n`への置換は出来ないけど、別のアプローチで1文字ずつチェックしていって、該当の文字にマッチしたらその文字を削除`deleteText`して、改行コードをその場所に挿入`insertText`で代替が出来ますね。
19
+
20
+ こんな方法もあるってことで参考までに。
21
+
22
+ ```GAS
23
+ function test0930() {
24
+ const body = DocumentApp.getActiveDocument().getBody();
25
+ const text = body.editAsText();
26
+
27
+ const plainText = text.getText();
28
+
29
+ for(i=0;i<plainText.length; i++){
30
+ if(plainText[i].match(/[?. ]/)){
31
+ text.deleteText(i,i);
32
+ text.insertText(i,"\n");
33
+ }
34
+ }
35
+ }
13
36
  ```