LANG SELRCT

コードを書く場所

2019年10月13日日曜日

複数の文章を文章ごとに分けたい(正規表現)


複数の文章を各文章ごとに分けたくて書いた正規表現

var pattern = /。\n+|。|\.\n+|\. |\n+/g;


こういう複数の文章を
var value = '句点と改行で分割する。\n句点で分割する。Split by period. Split by period with newline.\n複数改行でも分割する。\n\n最後の文';

文章単位で配列に入れたい
 [句点と改行で分割する, 句点で分割する, Split by period, Split by period with newline, 複数改行でも分割する, 最後の文]



コード.gs
function myFunction() {
  var value = '句点と改行で分割する。\n句点で分割する。Split by period. Split by period with newline.\n複数改行でも分割する。\n\n最後の文';
  var pattern = /。\n+|。|\.\n+|\. |\n+/g;
  
  var sentences = value.split(pattern);
  Logger.log(sentences);
  
  for(var i = 0; i < sentences.length; i++) {
    var sentence = sentences[i];
    Logger.log(sentence);
  }
}

意訳
この機能がやること
複数の文章
句点と改行 or 句点 or ピリオドと改行 or ピリオドと半角スペース or 改行
  
valueをpatternで分割する
ログに出す
  
文章の数だけ繰り返す
文章ごとに
ログに出す





実行結果

こういうログが出ます。

[19-10-12 19:15:05:900 PDT] [句点と改行で分割する, 句点で分割する, Split by period, Split by period with newline, 複数改行でも分割する, 最後の文]
[19-10-12 19:15:05:901 PDT] 句点と改行で分割する
[19-10-12 19:15:05:901 PDT] 句点で分割する
[19-10-12 19:15:05:902 PDT] Split by period
[19-10-12 19:15:05:902 PDT] Split by period with newline
[19-10-12 19:15:05:903 PDT] 複数改行でも分割する
[19-10-12 19:15:05:903 PDT] 最後の文