"s/*│*/\ t/g"というテキストを含むGoogleスプレッドシートにセルがあります。GoogleスプレッドシートgetValue([ t]を含むセル)は、タブレーターを返しません。
私が意図した出力が「B」になりますが、私は「\のTB」を取得コード
function minimalExample(){
var text = "a │ b"
var pattern = SpreadsheetApp.getActiveSheet().getRange('B3').getValue() // cell contains "s/ *│ */\t/g"
var regexSplitter = /s\/(.*)\/(.*)\/(\w+)/; // pattern to split sed line into search/replace/modifier
var patternParts = pattern.match(regexSplitter); // list with search [1], replace [2], modifier [3]
text = text.replace(new RegExp(patternParts[1], patternParts[3]),patternParts[2]);
Logger.log(text);
return true;
}
を使用しています。
どのようにこの動作を変更できますか?
なぜ意図した出力が 'B'でしょうか? *これはセルに書かれているものなので、あなたは 'a \ tb'を得ています*。基本的にコードを読み込むパーサは、あなたのコードに入れたタブをタブから外すものです。他の場所からロードされた文字列は魔法のように変換されません。あなたの文字列中の全ての '\ t 'をタブ文字に変換したいなら、' .replace(/ \\ t/g、 "\ t") 'を実行する必要があります。 – CherryDT
次に、 "a b"は_desired_出力になります:) – Nico