Js 字符串的三大操作
回顾:
var num = str.length:字符个数
str = str.toLowerCase()/toUpperCase()
var char = str.charAt(index) :指定位置的字符
var code = str.charCodeAt(index):指定位置的字符的unicode编码
字符串三大操作:
1.查找关键字
2.替换关机子
3.获取子字符串
查找关键字:var index = str.indexOf("关键字");
返回关键字所在位置!****如果没找到 返回-1**
indexOf:懒:只找第一个关键字位置!
蠢:默认只能从位置0开始~
var index = str.indexOf("关键字",from);
from:开始查找的位置 从from开始向后查找,
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var str="女神说要来,我草草的收拾了房间。他又说不来了。我说:我草";
var index=-1; //从上次找到的位置开始
while((index=str.indexOf("我草",index+1))!=-1){
console.log("位置"+index+"发现关键字"); // 位置6发现关键字 位置26发现关键字
}
</script>
</body>
</html>
从最后一个字符,向前找:只要关键字离结尾近 ,就用last
var index = str.lastIndexOf("关键字",from);
from:开始查找的位置 从from开始 向前查找
返回的Index完全相同~ 字符在数组中的下标是固定的!
2处修改:index从str.length开始;每次index要-1;
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var str="女神说要来,我草草的收拾了房间。他又说不来了。我说:我草";
var index=str.length; //从上次找到的位置开始
while((index=str.lastIndexOf("我草",index-1))!=-1){
console.log("位置"+index+"发现关键字") // 位置26发现关键字 位置6发现关键字
}
</script>
</body>
</html>
2、获取子字符串:var subStr = str.slice(start,end); //含头不含尾 要在获取的最后一位再加1
str.substring(start,end+1) 用法同slice~
唯一差别:不支持负值作为参数!
str.substr(start,count)
以上三种方法省略第二个参数,默认都是取到结尾。
按规律分割字符串:var subs = str.split(“分割符”[,count]); //返回切割后的数组
实例:
把字符串中的首字母变大写:
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var str="no zuo no die";
var words=str.split(" ");
console.log(words); //["no", "zuo", "no", "die"]
for(var i=0; i<words.length; i++){
//取每个单词元素的首字母大写
//拼第二个字母之后的所有字符
words[i]=words[i][0].toUpperCase()+words[i].substring(1);
}
console.log(words); //["No", "Zuo", "No", "Die"]
var newwords=words.join(" ");
console.log(newwords); //No Zuo No Die
</script>
</body>
</html>
Js 字符串的三大操作的更多相关文章
- js字符串和数组操作,容易混淆的方法总结(slice、substring、substr、splice)
平时工作中,很少静下心来总结基础知识,总觉得自己会用了,有点飘了,直到碰壁之后才懂得基础知识的重要性.大牛告诉我,一次写对,是不是可以不用F12去调试了?是不是省了时间?简直是面红耳赤,无地自容.在这 ...
- js字符串操作
javascript中字符串常用操作总结.JS字符串操作大全 String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是 ...
- 页面循环绑定(变量污染问题),js面向对象编程(对象属性增删改查),js字符串操作,js数组操作
页面循环绑定(变量污染问题) var lis = document.querySelectorAll(".ul li") for ( var i = 0 ; i < lis. ...
- js 字符串操作函数有哪些
js 字符串操作函数有哪些 一.总结 一句话总结:js字符串函数都是字符串对象的方法,是通过调用字符串方法的方式调用,和java,php里面不一样. 1.字符串替换函数怎么用? 这里的正则表示是加双引 ...
- js字符串操作函数
js字符串函数 JS自带函数 concat 将两个或多个字符的文本组合起来,返回一个新的字符串. var a = "hello"; var b = ",world&quo ...
- 探讨js字符串数组拼接的性能问题
这篇文章主要介绍了有关js对字符串数组进行拼接的性能问题,字符串连接一直是js中性能最低的操作之一,应该如何解决呢?请参看本文的介绍 我们知道,在js中,字符串连接是性能最低的操作之一. 例如: 复制 ...
- 从js的repeat方法谈js字符串与数组的扩展方法
js将字符串重复N次的repeat方法的8个版本 /* *@desc: 将一个字符串重复自身N次 */ //版本1:利用空数组的join方法 function repeat(target, n) { ...
- js,jQuery数组常用操作小结
一.js中数组常用操作小结 (1) shift:删除原数组第一项,并返回删除元素的值:如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift() ...
- html 转 js 字符串
看到一个牛人的博客 http://riny.net/lab/#tools_html2js 看了下他的代码 挺棒的 所依赖的两个库在这里 https://github.com/Bubblings/l ...
随机推荐
- 我眼中的Linux系统和红帽RHCE认证
牛顿曾经说过“我不知道在别人看来,我是什么样的人:但在我自己看来,我不过就象是一个在海滨玩耍的小孩,为不时发现比寻常更为光滑的一块卵石或比寻常更为美丽的一片贝壳而沾沾自喜,而对于展现在我面前的浩瀚的真 ...
- OO Summary Ⅳ
测试与正确性论证的效果差异 测试,或者说用断言进行黑箱测试,用大量的数据进行“覆盖性测试”,目的是当分支覆盖率达到100%也就是理论上来说所有可能的输入都已经测试过了,而输出结果均是正确的,那么我们理 ...
- IDEA使用GitHub托管代码
该方法基本也适用于JetBrains公司的其他IDE产品,如phpStorm,PyCharm等. 首先,在github官网注册一个账号,参考:http://stormzhang.com/github/ ...
- HashMap实现原理分析--面试详谈
1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端. 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大.但数组的二分查找时间复杂度小,为O(1 ...
- 前端基础之CSS属性
一.背景属性 <style> p { /*背景颜色*/ background-color: red; /*字体颜色*/ color: blue; /*宽度和高度*/ width: 600p ...
- Python自动化必备发送邮件报告脚本详解
#!/usr/bin/python3# -*- coding:UTF-8 -*-import smtplib#smtplib库主要用来连接第三方smtp库,用来发邮件from email.mime.t ...
- 1.3用socketserver创建服务器
socket服务器代码 # -*- coding: utf-8 -*-import socketserver,time myHost = '' myPort = 50007 def now(): #返 ...
- Buffer与Cache区别 简要说明
Buffer – 缓冲区 写 用户写入数据存储区域 解决写入冲突 CPU-Memoury-Disk Cache – 缓存区 读 用户读取缓存数据使用 临时存储 Disk-memo ...
- 用postman做自动化测试
pre-request script: pm.environment.set("title", data.title);pm.environment.set("tab&q ...
- 为什么不同网段的ip 不能直接通信
首先要明白一点,IOS一共七层, 发送数据的过程是从上到下,也就是从应用层一直到物理层,接受数据是从下至上. 来看你的问题,环境如下,我们来用一个ping命令的过程来解释:一个交换机,连两个电脑A和B ...