string对象_replace(),indexOf(),search()和match()

 string对象

replace()用于在字符串中用一些字符替换另一些字符

strinObject.replace(regexp/substr,replacement)

regexp/substr规定子字符串或要替换的模式的regexp对象

replacement  一个字符串的值,替换文本或生成替换文本的函数

返回值:一个新的字符串

1.

用replace() 来替换字符串中的字符

var str='my name is wyy'
console.log(str.replace(/wyy/, 'hw'))//将使用 "hw" 替换字符串中的 "wyy":

//my name is hw

 2.用replace()全局替换

执行一次全局替换,每当 " Tom" 被找到,它就被替换为 "Lucyl":
var str='my name is Tom '
str=str + 'Tom likes sing songs'
str=str + 'Tom is a boy of ten years old' 

console.log(str.replace(/Tom/g, 'Lucy')) // regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
返回值
my name is Lucy    Lucy likes sing songs
Lucy is a boy of ten years old

 indexOf(searchvalue,fromindex)

searchvalue需要搜索的值

fromindex 指定从哪里开始搜索

var str='my name is Tom '

console.log(str.indexOf('my') ) // 如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置
//返回0
 检测的字符串值没有出现则返回-1
var str='my name is Tom '

console.log(str.indexOf('ll') )
// -1
 

 seach()检索字符串中指定的子字符串

stringObject.search(regexp)

regexp 该参数需要在stringObiect中检索的子串,也可以是需要检索的regexp对象

例如

检索name 

var str='my name is Tom '

console.log(str.search(/name/) )
//返回值str中第一个与 name 相匹配的子串的起始位置。
//3
 search()对大小写敏感
var str='my name is Tom '

console.log(str.search(/Name/) )
//-1
//search 对大小写敏感所以没有搜索到该字符串
 
var str='my name is Tom '

console.log(str.search(/Name/i) )
//3
//要执行忽略大小写的检索,就要追加标志 i
   match()字符串内检索指定的值
var str="1 plus 2 equal 3"
console.log(str.match(/\d+/g))
//1,2,3

 

猜你喜欢

转载自wangyuying.iteye.com/blog/2363943