String对象(字符串)

字符串在本质上也是数组 都可以通过str[i]访问内容

但是数组创建后可以修改 而字符串一旦创建内容不可更改

属性:length 作用与数组相同 获取字符串的长度

方法:

charAt( ) 返回指定位置的字符

var str = "abcdefg";
console.log(str.charAt(5));// 返回 f

charCodeAt( ) 返回指定位置字符的Unicode码

var str = "abcdefg";
console.log(str.charCodeAt(5)) // 返回 102 小写f的Unicode码

fromCharCode( ) 将Unicode码转换为字符串

console.log(String.fromCharCode(97,98,99,100,101));//返回abcde

concat( ) 拼接字符串 和数组用法相同

slice( ) 选取字符串 和数组用法相同

split( )  将字符串分隔为字符数组

var str = "你好!我是你的好朋友!";
console.log(str.split(""));// 输出["你", "好", "!", "我", "是","你", "的", "好", "朋", "友", "!"]

indexOf( ) 返回指定字符串的第一个位置 若没有则返回-1

var str = "abcdefgf";
console.log(str.indexOf("f"));//返回 从前向后检索的第一个f的下标 5

lastIndexOf( ) 从后向前搜索字符串的第一个位置

var str = "abcdefgf";
console.log(str.lastIndexOf("f"));// 返回 从后向前检索的第一个f的下标7

toLowerCase() 将字符串转换为小写

toUpperCase() 将字符串转换为大写

var str = "ABCdefGF";
console.log(str.toUpperCase());//返回 ABCDEFGF
console.log(str.toLowerCase());//返回 abcdefg

支持正则表达式的String对象的方法:

match( ) 找到一个或多个正则表达式的匹配字符串 也可以直接检索字符串

replace( ) 替换与正则表达式匹配的字符串

search( ) 查找字符串中第一个匹配的子字符串的位置 没有找到返回-1

RegExp对象(正则表达式)

正则表达式的一些基础知识:

1.直接匹配单个字符
[0-9]:匹配一位数字
[a-z]:匹配一位小写字母
[A-Z]:匹配一位大写字母
[A-z]:匹配一位大写或小写字母
[\u4e00-\u9fa5]匹配一位汉字

2.匹配字符简写
\d:匹配一位数字                                \D 非数字
\w:匹配一位数字、字母、下划线      \w 非字母数字下划线
\s:匹配空字符                                    \S 非空
\b:匹配字符串中开头或结尾的字符      \B 非单词边界
. :匹配所有字符

3.量词:规定字符出现次数
n+:至少包含一个n
n*: 包含0个或多个n
n?: 包含0个或一个n
n{x}: 包含x个n
n{x,y}: 包含x-y个n
n{x,}: 包含至少x个n
n$:以n结尾
^n:以n开头
?=n: 匹配后面紧接字符串n的字符串
?!n: 匹配后面没有字符串n的字符串

4.分组和选择
分组:
():将需要组成一组的字符串用()括起来
作用:可以让一个量词修饰多个字符集
选择:
| 或: 选择其中一个字符集

方法:

match( ) 匹配字符串中的正则规则的子字符串

var str="1 plus 2 equal 3"
// 全局匹配数字
console.log(str.match(/\d+/g));//输出 [1, 2, 3]

  这种方法可以用在将字符串转换为数组 只需要将匹配规则替换一下就可以

replace( ) 替换正则表达式

var str = "    你  好  吗   ?     ";
console.log(str.replace(/\s+/g,""));//输出 你好吗?

  这种方法常用于将字符串中某个不需要的字符给删除掉 这里删除的是字符串里面的空格

search( ) 查找与正则表达式匹配字符串的位置

var str = "你你你是是是我我我";
console.log(str.search("你"));//返回第一个你的下标 0
console.log(str.search(/你/));//与上一种相同

最新文章

  1. 谢欣伦 - OpenDev原创例程 - 串口助手Comm Assist
  2. Jquery之ShowLoading遮罩组件
  3. 前端测试回顾及我们为什么选择Karma
  4. $http.post发的数据,后台取不到两种解决方案
  5. poj 2229 Sumsets DP
  6. Head First SQL笔记
  7. Java Applet实现五子棋游戏
  8. 3.commonjs模块
  9. 韩顺平教学资源java、oracle、linux
  10. [LeetCode] Accounts Merge 账户合并
  11. markdown写作方法规范参考汇总
  12. 关于C++ return * this
  13. TCP 选项RST
  14. 爬虫_电影天堂 热映电影(xpath)
  15. 【C语言】 8421BCD码与二进制的转换
  16. 添加Fragment报已有父view,需先移除的错
  17. svg矢量图标在html中的使用, (知识点:1.通过h5中的css实现点击变色,2.一个svg文件包含多个图标)
  18. 安卓app开发-04- app运行的运行和调试
  19. bzoj3622-已经没有什么好害怕的的了
  20. wordpress后台加载速度异常缓慢排查记录(原创)

热门文章

  1. 阶段5 3.微服务项目【学成在线】_day18 用户授权_19-微服务之间认证-Feign 拦截器
  2. 使用 ServiceStack.Text 序列化 json的实现代码
  3. python的注释规范
  4. mysql每次update数据,自动更新对应表中时间字段
  5. [转载]Oracle中TO_NUMBER()函数的用法
  6. 《Mysql - 事务 MVCC》
  7. AtCoder整理(持续更新中……)
  8. C++基础--inline
  9. Thinking In Java 4th Chap7 复用类
  10. python学习-14 基本数据类型3