0

テキスト内の通常の引用符記号 ( " ) を印刷上の引用符 (« および ») に置き換えようとしています。

奇数の引用符の一致を « に、偶数の一致を » に置き換える方法はありますか?

だから:こんにちは「世界」!になる: Hello «world»!

また、これは「その場で」実行されることを意図しているため、テキストに偶数の引用符が含まれていなくても問題はありません。

ご協力いただきありがとうございます!

4

2 に答える 2

3
/**
 * @param {string} input the string with normal double quotes
 * @return {string} string with the quotes replaced
 */
function quotify(input) {
  var idx = 0;
  var q = ['«', '»'];
  return input.replace(/"/g, function() {
    var ret = q[idx];
    idx = 1 - idx;
    return ret;
  });
}
于 2012-05-16T11:32:20.813 に答える
0

これを行う別の方法を考え出しましたが、どちらがより「最適化」されているかわかりません。

function quotify2(inputStr)
{
    var quotes = inputStr.match(/«|»/g);
    return inputStr.replace(/"/g, (quotes && quotes.length % 2 != 0 ? '»' : '«'));
}
于 2012-05-18T21:26:59.117 に答える