内置对象-字符串对象

一.创建字符串对象(string)

获取字符串的长度  (length方法)

<script type="text/javascript">
			// 创建字符串对象
			var str =  'i’am a student';				//比较简单
			console.log(str);
			var str1 = new String('i’am a teacher')		//比较复杂
			console.log(str1);
            var length = str.length;
			console.log(length);                         //14
			var length1 = str1.length;
			console.log(length1);                        //14
		</script>

二.大小写转换方法

1.string.toLowerCase():把字符串转换成小写

2.string.toUpperCase():把字符串转换成大写

<script type="text/javascript">
			// 创建字符串对象
			var a = 'abcdefg';
			var b = 'QWERTYYUI';
			var str = a.toUpperCase()
			console.log(str);					// ABCDEFG
			var str1 = b.toLowerCase()
			console.log(str1);					// qwertyyui
		</script>

三.提取某个字符

1.string.charAt(index): 返回字符串中指定下标的字符

2.string.charCodeAt(index):返回指定下标的字符的unicode编码

<script type="text/javascript">
			// 创建字符串对象
			var a = 'qwer吾知荣耀,离别已久';
			var b = a.charAt(2);
			console.log(b);
			var c = a.charCodeAt(2)
			console.log('e 的ASCII码为:' + c);			// e 的ASCII码为:101
			var d = a.charCodeAt(5);
			console.log(d);								// 30693
					
		</script>

四.查找指定字符串

1.string.indexof(findstr,index) 返回指定文本在字符串中首次出现的位置

2.string.lastindexof(findstr,index) 返回指定文本在字符串中最后出现的位置

3.string.search() 搜索特定的字符串,并返回匹配的位置

<script type="text/javascript">
			// indexof 返回该字符串第一次出现的下标
			var str = 'what is the matter with you i anyway';
			var a = str.indexOf('i')	 // 5
			console.log(a);
			
			/* 如果 indexof  后面跟值的话,打印的结果随数字而定,
			如果大于第一个小于第二个,则打印第二个值的下标
			大于第二个小于第三个,则打印第三个的下标位置 */
			
			console.log(str.indexOf('i',6));  		// 20
			console.log(str.indexOf('i',21));  		// 28
			
			// lastindexof 返回该字符串最后一次出现的下标	
			var b = str.lastIndexOf('i');
			console.log(b);				// 28
			
			/* 如果 lastindexof  后面跟值的话,打印的结果随数字而定,
			假设 值为 x ,则会查找从下标 0 开始到 x 内的 字符,
			并打印出来最大的那个 ,找不到返回 -1*/
			
			console.log(str.lastIndexOf('i',6));  		// 5
			console.log(str.lastIndexOf('i',21));  		// 20
			
			//若没有找到该字符,则返回 -1
			var c = str.indexOf('b')
			console.log(c);

			// search 搜索特定的字符串,第二个参数没作用
			var e = str.search('i')
			console.log(e);							// 5
			console.log(str.search('i',21));		// 5
		</script>

search()与indexOf()有什么区别

1.search()的参数必须是正则表达式,而indexOf()的参数只是普通的字符串
indexOf()是比search()更加底层的 方法
2.如果只是对一个具体字符串来查找,那么使用indexOf()的系统资源消耗更小,效率更高
如果查找具有某些特征的字符串(例如查找以a开头,后面是数字的字符串),那么indexOf()就无能为力,必须要使用正则表达式和search()方法了
3.大多时候用indexOf()不是真的想知道子字符串的位置,而是想知道长字符串中是否包含该子字符串。如果返回索引为-1,那么说明没有,反之则有

四.提取部分字符串

1.slice() 方法:slice(start, end)

2.substring()方法:substring(start, end)

3.substr()方法:substr(start, length)

<script type="text/javascript">
			/* slice()方法 */
			/* 提取从下标为5到10之间所有的字符串 */
			var str = 'what is the matter with you anyway';
			var str1 = str.slice(5, 11)   /* 不含10*/
			console.log(str1);
			/* 提取从下标为7后面所有的字符串 */
			var str2 = str.slice(7)
			console.log(str2);
			/* 从后面提取从下标为-11到-7之间所有的字符串 */
			var str3 = str.slice(-11,-7)
			console.log(str3);
			/* 提取从下标为-11后面所有的字符串 */
			var str4 = str.slice(-11)
			console.log(str4);
			
			/* substring()方法 */
			var res = str.substring(2,11)
			console.log(res);
			var res1 = str.substring(7)
			console.log(res1);
			
			/* 无法接受负的索引,语法正确没有值 */
			var res2 = str.substring(-13,-7)
			console.log(res2);
			var res3 = str.substring(-7)
			console.log(res3); /* 全部打印出来*/
			
			/* substr()方法 */
			/* 第二个参数规定被提取部分的字符串长度。第二个参数不能为负,因为它指的是长度。 */
			var sub = str.substr(2,10)
			console.log(sub);
			var sub1 = str.substr(7)
			console.log(sub1);
			var sub2 = str.substr(-13,7)
			console.log(sub2);
			var sub3 = str.substr(-13)
			console.log(sub3);
		</script>

五.操作字符串

1.string.trim():  删除字符串两端的空白字符

2.string.concat():  连接两个或者多个字符串

3.string.split(): 按照括号里的字符,将字符串连接起来

4.string.replace(): 用另一个值替换字符串中指定的值

<script type="text/javascript">
			// string.trim() 去空格,用处不大
			var str = ' what is ';
			var str1 = 'happened';
			var a = str.trim()
			console.log(a);

			// string.concat() 连接两个字符串
			var b = str.concat(str1)
			console.log(b);					 // what is happened
			
			// string.split() 拆分字符串,以括号里面的形式,给的是空值,所以返回的是一个个字母
			var c = str1.split('');
			console.log(c);					 //["h", "a", "p", "p", "e", "n", "e", "d"]
			
			// string.replace() 替换字符串
			var str2 = 'aabbccdd';
			var d = str2.replace(/a/g, "z")   // 全部替换
			console.log(d);
			var e = str2.replace(/a/i, "z")		//首个替换
			console.log(e);
		</script>

六.案例:

有数组var array= ["America","Greece","Britain","Canada","China","Egypt"]

统计数组中包含“a”的字符串的个数

<script type="text/javascript">
			/* 有数组var array= ["America","Greece","Britain","Canada","China","Egypt"]
			统计数组中包含“a”的字符串的个数 */
            //  先将数组转换成字符串,然后拆分为一个个字母,遍历,判断
			var array= ["America","Greece","Britain","Canada","China","Egypt"]
			var str = array.toString();
			var str1 = str.split('');
			var j = 0;
			console.log(str1);
			for(var i = 0;i < str1.length;i++){
				if(str1[i] == 'a'){
					j++
				}
			}
			console.log(j);
		</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值