我的输入1是"非常干净" "多动作"清洗
我的输入2是#34;非常干净" "多重行动"
我需要追加"和"在最后但只有一个位置 例如:如果输入1然后输出应该是#34;完全清洁" "多动作"和清洁 如果输入2"完全清洁"和"多重行动"
输入是动态的,但我需要输出带有双重代码的输出 你可以帮我解决一个满足输入的解决方案
我试过这个
var text = g_eCatalogMeta.searchCorrected,
clength = text.split('"');
clength = clength.filter(function(n){ return n != "" && n!=" "});
if (clength.length >1) {
var aa =clength.length;
clength.insert(aa-1, "und");
text = clength.join;
}
但无法获得双重代码和最后一个字。 请帮帮我。
答案 0 :(得分:4)
最简单的方法是在最后引用的字符串或最后一个字之前插入and
的正则表达式。
str.replace(/("[^"]+"|\w+)$/, "and $1");
https://regex101.com/r/yK5tD9/1
正则表达式细分:
( = start of group 1
"[^"]+" = quote, some non-quotes, quote
| = OR
\w+ = a word
) = end of group 1
$ = end of string
$1
替换意味着"无论第1组匹配"。