如何在javascript中使用表达式查找'/'字符
Posted
技术标签:
【中文标题】如何在javascript中使用表达式查找\'/\'字符【英文标题】:how to find '/' character using expression in javascript如何在javascript中使用表达式查找'/'字符 【发布时间】:2016-05-08 02:39:02 【问题描述】:我想使用 javascript 和匹配函数从字符串 'ujj/jkiiiii/jk' 中获取所有字符串 '/jk' 的索引。我能够找到所有字符串,但是当我使用 / 时,它显示错误.
【问题讨论】:
`'ujj/jkiiiii/jk'.indexOf("/jk")` Return positions of a regex match() in Javascript?的可能重复 向我们展示您尝试查找索引的代码 var string='ujj/jkiiiii/jk'; var regex = //jk/gi,结果,索引 = []; while ((result = regex.exec(string))) indices.push(result.index); 【参考方案1】:如果您想在字符串中获取 '/jk' 的位置数组,您可以使用正则表达式:
var str = 'ujj/jkiiiii/jk'
var re = /\/jk/g
var indices = []
var found
while (found = re.exec(str))
indices.push(found.index)
这里的/\/jk/g
是一个匹配'/jk'的正则表达式(/被转义所以它是\/
)。在http://regexr.com/ 学习正则表达式。
或者你可以使用 str.indexOf(),但无论如何你都需要一个循环:
var str = 'ujj/jkiiiii/jk'
var substr = '/jk'
var indices = []
var index = 0 - substr.length
while ((index = str.indexOf(substr, index + substr.length)) != -1)
indices.push(index)
两种情况下的结果都是indices
变量中的[3, 11]。
【讨论】:
【参考方案2】:我更新了我的答案。
当您想查找“/”时,只需添加一个“\”,因为“\”是转义字符。 因为你不知道你想做什么。这是我可以帮助的。如果你用你的代码更新你的答案,我可以提供更多帮助。
【讨论】:
它只会返回'jk'的第一个索引而不是全部。 显示不带“/”的示例。所以,我可以看到你想要什么。但是试试这个:***.com/questions/4664850/… 您可以在此处查看示例-***.com/questions/3410464/…。这里所有的字符串都运行良好,但是如果字符串包含'/'字符,那么如何制作regx。 我更新了我的答案。根据需要更通用(无需代码)以上是关于如何在javascript中使用表达式查找'/'字符的主要内容,如果未能解决你的问题,请参考以下文章
如何在JavaScript中查找一个字符串中所有出现的索引?
javascript /jquery 如何split 正则表达式