字符串的增删改查 及其它常见方法

时间:2022-01-25 23:58:49

<script>
var str="hello word";
var str2=" abc";
var str3=" xyz";

// 增 concat组合 合并
//alert(str.concat(str2,str3));

//截取(删)
//slice(start,end)方法 start是必须参数 end是可选参数
// 如果有两个参数,截取两个索引之间的字串,包括开头不包括结尾
// 如果只有一个参数,则截取该下标开始的后面的所有字串(包括该下标)
//如果只有一个参数,该参数为负值,则进行length+参数处理,按上诉只有一个参数的原则执行,也可以理解成截取倒数第几个字串
//注意(只要参数为负值,就做length+参数处理)
//alert(str.slice(2,4))//hell
//alert(str.slice(2))//llo word
//alert(str.slice(-3))//ord
//alert(str.slice(-8,-5))//llo 相当于slice(2,5)

//substring(start,end)方法
//star必须 end可选 不能为负数 否则无效
//截取两个下标之间的字符串,包括开头,不包括结尾
//alert(str.substring(2,5))//llo
//alert(str.substring(7))//ord

//substr(start,length)方法
//start必须(可负) length可选
// 返回指定县标开始 截取指定长度的字符
//如果length不写,则截取从指定下标开始到末尾的字符串
//如果start为负值,则进行length(字符串的总长度)+start处理
//alert(str.substr(2,5))//llo w
//alert(str.substr(2))//llo word
//alert(str.substr(-3))//ord 相当于substr(7)
//alert(str.substr(-8,3))//llo 相当于substr(2,3)

//改
//replace(regexp/substr,replacement)方法
// regexp/substr必需。规定子字符串或要替换的模式的 RegExp 对象。(先检索后替换)
// replacement必需。一个字符串值。规定了替换文本或生成替换文本的函数。
//用于在字符串中,用一些字符替换另一些字符,或则替换一个与正则表达式匹配的字串
//返回替换后的新字符串,该方法不会改变原始字符串
//alert(str.replace("word","hahahaha"))//hello hahahaha
// alert(str.replace("o","x"))//hellx word
//alert(str.replace(/o/g,"x"))//hellx wxrd
var str3="mr Blue has a blue house and a blue car";
//alert(str3.replace(/blue/g,"red"))//mr Blue has a red house and a red car


//查
//charAt()方法
//返回指定索引位置处的字符。如果超出有效范围的索引值,返回空字符串
//alert(str.charAt(6))//w

// indexOf()方法
// 返回 指定字符串 字符串对象中首次出现的位置(下标)
//若 没有匹配到字符串 则返回-1
// alert(str.indexOf("o"))//4
// alert(str.indexOf("ord"))//7
// alert(str.indexOf("x"))//-1

//lastIndexOf()方法
//返回 指定字符串在字符串对象中最后出现的位置(下标)
//若 没有匹配到字符串 则返回-1
//alert(str.lastIndexOf("o"))//7
// alert(str.lastIndexOf("x"))//-1

//search()方法
// 返回与正则表达式查找内容匹配的第一个字符串的位置,如果没有匹配到子字符串,则返回-1
// alert(str.search(/he/i))//0
// alert(str.search("he"))//0

//split(separator,howmany)方法
// 将一个字符串分隔成子字符串,然后将结果作为字符串数组返回
// separator必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
// howmany可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

//alert(str.split(""))//h,e,l,l,o, ,w,o,r,d 这是个字符串数组对象
//alert(str.split("",4))//h,e,l,l
// alert(str.split(" "))//hello,word
//alert(str.split("l"))//he,,o word

//toUpperCase()将字符串中的所有字母都转化为大写
var str4="aBcDeFg"
// alert(str4.toUpperCase())//ABCDEFG

//toLowerCase()将字符串中的所有字母都转化为小写
// alert(str4.toLowerCase())//abcdefg

//trim()方法 去除字符串两边的空白 兼容IE9以上浏览器
var str5=" a b cdef "
//console.log(str5)
//console.log(str5.trim())//可以去除两边的空白 中间的空白去除不了

//valueOf()方法可返回String对象的原始值
//通常由 JavaScript在后台进行调用

//alert(str.valueOf())//hello word

</script>