2017-04-22 6 views
2

Googleドキュメントには次のテキストがあります。著者に続くデータテキスト、カッコで囲まれたタイムスタンプ。タイムスタンプは文末にもあります。データテキストの一部には括弧も含まれます:google app script regex 3括弧で囲まれたテキストを削除するにはどうすればよいですか?

一部のテキストはここにあります。 (John Smith; 12/20/2016 10:11 AM)

タイムスタンプの間には、より多くのテキストがあります。

他のテキストがここに入力されます。いくつかの文があるかもしれません。 (ジェーン・ドウ、2016年12月20日8時21 PM)の上のテキスト(C189)私はタイムスタンプを削除するには、Googleアプリのスクリプトを使用したい

説明。見つける「(」、その後、任意のテキスト:それはタイムスタンプを見つけるのに適しています

\(.+[AP]M\) 

:私はGoogleドキュメントの中に、「検索と置換」メニュー機能で動作し、次の正規表現を試みてきた

それはまた、オンライン正規表現テスターで動作

『)「AMまたは『』に続いて』 PMで終わるしかし、それはGoogleのアプリスクリプト内からは動作しません:

タイムスタンプ間で

詳細テキスト:0

function searchAndReplace() { 
    var doc = DocumentApp.getActiveDocument() 
    var body = doc.getBody(); 
    body.replaceText("\(.+[AP]M\)", ""); 

私はこれで終わります。

いくつかのテキストはここに行く:私はこれ欲しい上記のテキスト(C189)

説明。

複数のタイムスタンプの間のテキスト。

他のテキストがここに入力されます。いくつかの文があるかもしれません。上記のテキスト(C189)の

説明

私が間違って何をしているのですか? Google Docsでは "検索と置き換え"の正規表現として挫折しますが、スクリプトでは機能しません。

答えて

0

ここに示すように、かっこを二重にエスケープする必要があります。

function searchAndReplace() { 
    var doc = DocumentApp.getActiveDocument() 
    var body = doc.getBody(); 
    body.replaceText("\\(.+?[AP]M\\)", ""); 
    doc.saveAndClose(); 
} 
+0

ありがとうございます!それはRE2 Wikiにはありません。 – sdrsatti

+0

問題が解決した場合は、その答えに同意してください。 –

関連する問題