在最后一个单词Javascript之前附加字符串

时间:2014-12-16 11:44:13

标签: javascript jquery

我的输入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;
}

但无法获得双重代码和最后一个字。 请帮帮我。

1 个答案:

答案 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组匹配"。