好的,所以我知道如何做一个标准循环遍历字符串来查找匹配单个字符或单词的字符或单词,但在这种情况下,我有我正在寻找多个字符集。一些是字母,一些是字符(包括保护字符)。我不能将它分成空间或任何类似的字词数组,因为字符集可能没有空格,所以不会分割。我怀疑我将不得不做一个正则表达式,但我不知道如何设置它。这基本上是我试图做的伪代码,我会很感激关于如何前进的任何提示。我很抱歉,如果这是一件容易的事情,我错过了它,我仍在工作我的JavaScript。Javascript迭代寻找多个字符集的字符串
伪代码:
var string = "This *^! is abdf random&!# text to x*?ysearch for character sets";
var tempSet = [];
// start a typical for loop
for(string.length bla bla...){
// look for one of those four character sets and if it hits one
if(foundSet == "abdf" | "x*?y" | "*^!" | "&!#")
// push that character set to the tempSet array
tempSet.push(foundSet);
// continue searching for the next set until the string is done
console.log(tempSet);
//expected result = ["*^!", "abdf", "&!#", "x*?y"]
,所有的集合是在其出现的字符串
的顺序排列在那里,显然更多,但是这部分我可以处理。这是这条线
if(??? == "abdf" | "x*?y" | "*^!" | "&!#")
我不知道如何处理。我怀疑它应该是某种类型的正则表达式,但是你可以像这样使用一个正则表达式在做if语句时?我用一个|来完成它们当做一个地图/替换,但我从来没有在循环中使用正则表达式。我也不知道如何让它一次搜索多个角色。一些字符集是3,一些是4个字符长。
我将不胜感激任何帮助,或者如果您有关于如何以更简单的方式来解决这个问题的建议,那将是非常棒的。
谢谢!
谢谢,这是一个很大的帮助。我必须把它放在一个循环中,因为其他的东西需要根据发现的来完成,但是这个正则表达式给了我一个工作的起点。谢谢! – MandyM
如果您需要循环,请查看'RegExp.exec()'方法来重复执行正则表达式并获取下一个匹配项。 – Barmar
太好了,谢谢。我会检查出来的! – MandyM