string.search()对我不起作用:
var test = "This is a sample text";
var result = test.search(/ /g);
// result = "4"
但它适用于string.matches()
var test = "This is a sample text";
var result = test.match(/ /g);
// result = " , , , "
原因是什么?是不是提供了在string.search()中查找所有匹配项,或者我是否犯了错误?
一些背景知识:我试图在字符串中查找所有空格的索引(以及之后的所有空格" - "),然后将以下字符大写。
答案 0 :(得分:2)
String#search
returns the position of the first occurrence of the specified searchvalue
,如果未找到匹配项,则返回-1。使用/g
是否无关紧要,它仍然只会返回第一次出现的位置。
答案 1 :(得分:0)
"如果成功,搜索将返回字符串中正则表达式的第一个匹配项的索引。否则,它返回-1。" 来自https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search