2017-11-24 8 views
0

大文字と小文字を区別しないで検索しようとしています。&はApps Apiを使用してGoogleドキュメントに置き換えられます。このオプション(SlidesやUser Interfaceのような)を設定できる関数が見つからないので、body.replaceText()を使う必要があります。さらに、変数を使用して検索文字列を設定したいが、明示的に指定された値で動作するようにすることさえできない。Google Apps docs:body.replaceText大文字と小文字を区別しない

私は成功しなかった異なるバージョンを試しました:
var findValue = "foo"; するvar replaceValue = "バー"

1) var regex = new RegExp('\\bfindValue\\b','gi'); 
    body.replaceText(regex,replaceValue); 

2) var regex="/(\\b)"+findValue+"(\\b)/gi"; 
    body.replaceText(regex,replaceValue); 

3) body.replaceText("/(\\b)"+findValue+"(\\b)/gi",replaceValue); 

4) body.replaceText(/foo/gi,"bar"); 

さえNR 4)は、テキストではFooまたはFOOを見つけました。 提案がありますか?

+0

この[スレッド](https://stackoverflow.com/questions/30968419/replacetext-regex-not-followed-by)を参照してください。 ['replaceText()'](https://developers.google.com/apps-script/reference/document/body#replaceText(String、String))メソッドは、先読みやその他の方法をサポートしていないことに注意してください捕獲グループ。これらの制限は、DocumentAppサービスにのみ適用されます。したがって、段落などからテキストを抽出して、より低いレベルで文書を操作することは可能であるべきですが、それは急速に非常に面倒になる可能性があります。 – abielita

答えて

0

は、Google +に私は作品の答えました: を正規表現/ fooの/ GIを使用していないのではなく、

var foo; 
var bar; 
var regex="(?i)\\b"+foo+"\\b"; 
body.replaceText(regex,bar); 

これは、可変バーに文字列を変数fooに文字列を置換します。すべての単語(\ b)のみであり、検索では大文字と小文字を区別しない(?i)とみなされます。 正規表現は文字列として渡され、余分な '\'を追加する必要があります。

関連する問題