[英]Extract words with RegEx
我是 RegEx 的新手,但将它用于我的项目会非常有用。 我想在 Javascript 中做的是:
我有这种字符串“/this/is/an/example”,我想提取该字符串的每个单词,也就是说:
"/this/is/an/example" -> this, is, an, example。 然后使用每个单词。
到目前为止,我做了:
var str = "/this/is/a/test";
var patt1 = /\/*/g;
var result = str.match(patt1);
document.getElementById("demo").innerHTML = result;
它返回我:/,,,,,/,,,/,,/,,,,,
我知道如果我可以通过使用搜索来识别每个“/”的位置,我知道接下来我将不得不使用 .slice 函数,但使用搜索它只会返回第一个“/”的索引,也就是说在这种情况下0.
我查不出来。
任何的想法 ?
提前致谢 !
使用split()
split() 方法通过将字符串分成子字符串来将字符串对象拆分为字符串数组,使用指定的分隔符字符串来确定每次拆分的位置。
var str = "/this/is/a/test"; var array = str.split('/'); console.log(array);
如果您想使用正则表达式。
var str = "/this/is/a/test"; var patt1 = /(\\w+)/g; var result = str.match(patt1) console.log(result);
好吧,我想这取决于您对“单词”的定义,有一个“单词字符”匹配可能正是您想要的:
var patt1 = /(\w+)/g;
完整的 JS 示例:
var str = "/this/is/a/test"; var patt1 = /(\\w+)/g; var match = str.match(patt1); var output = match.join(", "); console.log(output);
您可以使用此正则表达式: /\\b[^\\d\\W]+\\b/g
,让特定单词只需访问数组中的索引即可。 例如result[0] == this
var str = "/this/is/a/test"; var patt1 = /\\b[^\\d\\W]+\\b/g; var result = str.match(patt1); document.getElementById("demo").innerHTML = result;
<span id="demo"></span>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.