1

我正在尝试在 javascript 函数中获取搜索词。我需要以以下格式输出搜索词:

原来的:

search term 1,searchte.rm 2abc ,, , searchterm3

期望的输出:

search term 1&searchte.rm 2abc&searchterm3

基本上,我想“获取”搜索词之间的逗号和空格并将它们转换为简单的&.

我尝试过的正则表达式是/[-'"\w\s.]+/g获取实际搜索词,而不是两者之间的空格。/[,]+/g获取逗号,但我不知道如何使用正则表达式有条件地获取“多个空格加逗号”或“多个逗号加空格”。

什么正则表达式会使上面的代码正确输出?有没有我没有想到的用例?

4

2 回答 2

3

试试/\s*,[,\s]*/。这匹配任意数量的初始空格,后跟至少一个逗号,然后是任意数量的空格逗号。

于 2013-07-29T09:18:46.877 回答
1

尝试以下操作:

> 'search term 1,searchte.rm 2abc ,, , searchterm3'.replace(/\s*,[,\s]*/g, '&')
"search term 1&searchte.rm 2abc&searchterm3"
于 2013-07-29T09:17:13.350 回答