1 つのアプローチを次に示します。
function encodeQuotesOccuringAfter(string, substring) {
if(string.indexOf(substring) == -1) {
return string;
}
var all = string.split(substring);
var encoded = [all.shift(), all.join(substring).replace(/"/g, """)];
return encoded.join(substring)
}
この 2 番目のものは少し無駄ですが、これを関数に移動して、startAt
1 回だけ計算することができます。アイデアは、すべての引用符を探して、それらの前に「H1:」があるものだけを変更することです。
str.replace(/"/g, function(match, offset, string) {
var startAt = string.indexOf("H1:");
if(startAt != -1 && offset > startAt) {
return """;
}
else {
return '"';
}
});
H1:
引用符を含まないドメイン知識を使用して、文字列全体を単純に置換します。
str.replace(/"/g, """);