学习JS的第六天之字符串

其他学习笔记:点击前往

文章目录

  • 学习JS的第六天之字符串
  • 前言
  • 一、字符串(String)
    • 1、创建一个字符串
    • 2、字符串(String)的方法
    • 3、字符串的length属性
  • 二、正则表达式
    • 1、 正则表达式的概念
    • 2、 作用
    • 3、 创建正则表达式的写法
    • 4、 匹配规则:
    • 5、 转义符号
    • 6、 正则方法
    • 7、 支持正则表达式的字符串方法
  • 简单练习
  • 总结

前言

字符串的方法和正则表达式的方法


一、字符串(String)

1、创建一个字符串

var str = '内容';
console.log(str)

2、字符串(String)的方法

    1、charAt(index):返回指定位置的字符,index就是位置,从0开始。2、substring(n,m)返回n到m之间的所有字符,n和m都是下标。如果不给m,就从n开始截取到字符串结束3、substr(n,length)截取字符串,从 n开始 截取length这么长。如果不写length,就从n开始截取到字符串结束。4、slice(n,m)与substring用法一致。5、indexOF(s)查找 s 首次出现在字符串中的位置,6、match(str)查找字符串中特定的字符,如果找到了就返回这个字符。如果找不到就返回null。7、replace(a,b)用字符b替换字符a。8、search(s)用于检索字符串中指定字符的位置,没有找到返回 -1,9、split(str)以str作为切割符,将字符串切割为数组。10、toLowerCase()将英文字符串转为小写。11、toUpperCase()将英文字符串转为大写。12、trim()去掉字符串前后空格,但是无法去掉字符串中间空格。

3、字符串的length属性

    str.length: 获取字符串的长度

二、正则表达式

1、 正则表达式的概念

    使用特定的符号来描述字符串的方法

2、 作用

    验证用户输入的信息

3、 创建正则表达式的写法

    构造函数的方式var pat = new RegExp('要匹配的字符串','修饰符');自变量的写法var pat = /要匹配的字符串/修饰符;修饰符:i:忽略大小写g:全局查找(默认查找到第一个就会停止,使用该修饰符会匹配所有满足条件的)m:多行匹配

4、 匹配规则:

    \w 可以匹配一个组成单词的字符(字母,_,数字)\W 匹配非单词字符\d 匹配一个数子\D 匹配非数字\s 匹配空白符(空格、制表符、换行符)\n 匹配一个换行符.  匹配换行符以外的任意字符\b 匹配单词边界,也就是单词和空格之间的位置,不匹配任何字符       [xyz] 匹配这个集合中任意一个字符[^xyz]不匹配这个集合中任意一个[a-z]  匹配26个字母任意一个小写字母[0-9]  匹配0~9之间的任意一个数[a-zA-Z] 匹配26个字母不区分大小写^ 匹配以什么开头$ 匹配以什么结尾? 匹配前面的字符出现0次 或者1 次*  匹配前面的字符出现0次或者多次+  匹配前面的字符出现1次或者多次 {n,m} 匹配 n 到 m 次{n}    匹配 n 次{n,}  匹配大于等于n次x | y 匹配x或者y

5、 转义符号

    比如说要匹配一个 . ,但是小圆点是有特殊含义的,不能直接写,就需要写为 \.

6、 正则方法

    pat.test(str)是否匹配成功,返回true 或者 falsepat.exec()检索字符串中指定的值。返回一个数组,存放匹配的结果,如果没有匹配返回nullcompile()可以改变检索模式。

7、 支持正则表达式的字符串方法

    search()match()replace()split()

简单练习

1、写一个函数,参数为一个字符串,返回这个字符串的反向字符串。

 function reverseStr(str) {return str.split('').reverse().join('');}console.log(reverseStr('hello'));

2、替换掉字符串里的所有的空格。

var str = (" h e l l o")
function delSpace(str) {var pat = /\s/g;return str.replace(pat, '');}
console.log(delSpace(' h e l l o'));

3、将以下字符串的每个单词的首字母转化为大写:‘i love javascript !’

 function changeToUpper(str) {var arr = str.split(' ');for(var i = 0 ; i < arr.length; i++) {arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substr(1);}return arr.join(' ');}console.log(changeToUpper('i love javascript !'));

4、计算这段数据的平均分:“小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76”。

 var data = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";// 方法1var pat1 = /\d{1,}/gvar arr1 = data.match(pat1);var num = 0for(var i = 0; i < arr1.length; i++) {num += parseInt(arr1[i])}console.log(num/arr1.length);// 方法2var arr2 = data.split(';');var num2 = 0;for(var i = 0; i < arr2.length; i++) {num2 += parseInt(arr2[i].substr(arr2[i].indexOf(':') + 1));}console.log(num2/arr2.length);

总结

熟练使用字符串的方法,熟记正则表达式的匹配规则,网上有很多可以直接拿来用的正则表达式。

学习JS的第六天之字符串相关推荐

  1. javascript实战pdf_javascript该怎么学呢?学习Js之路

    javascript该怎么学呢?Js给初学者的印象总是那么的"杂而乱",相信很多初学者都在找轻松学习Js的途径.在这里给大家总结一些学习Js的经验,希望能给后来的学习者探索出一条& ...

  2. javascript该怎么学呢?值得收藏的学习Js之路

    javascript该怎么学呢?Js给初学者的印象总是那么的"杂而乱",相信很多初学者都在找轻松学习Js的途径.在这里给大家总结一些学习Js的经验,希望能给后来的学习者探索出一条& ...

  3. 初学者学习JAVASCRIPT很吃力怎么办?到底该如何学习JS?

    Js给初学者的印象总是那么的"杂而乱",相信很多初学者都在找轻松学习Js的途径.在这里给大家总结一些学习Js的经验,希望能给后来的学习者探索出一条"轻松学习Js之路&qu ...

  4. js中对象和字符串互相转换的方法

    今天学习的时候遇到了json_stringify 和 json_parse这两个方法,就好奇他们之间有没有什么相似的地方, 所以就去网上找了一下,接下来,我们一起去了解一下吧 先看下面这段代码 var ...

  5. 【JS】JS中数值型字符串相加变成拼接字符串的解决方法

    [JS]JS中数值型字符串相加变成拼接字符串的解决方法 参考文章: (1)[JS]JS中数值型字符串相加变成拼接字符串的解决方法 (2)https://www.cnblogs.com/xsjs/p/1 ...

  6. JS对象和JSON字符串相互转化总结

    在web开发中,一般情况下需要前端和服务器的交换数据,我们一般使用JSON来完成数据的传输,JavaScript操作的对象是一般是变量:因此我们需要将JSON字符串转换为JS变量,下面总结JS对象和J ...

  7. 学习js,尝试写一个表单验证框架(1)-规划

    斗胆放到首页来,如果不合适的话就删了吧,谢谢 其实这个框架也已经写了一点了,但是越写越乱越没把握,最终决定写成博客的形式,强迫自己慢下步调,一点点仔细地规划,设计,思考,期间也一定会遇到不少问题,还请 ...

  8. js 缺少标识符、字符串或数字

    2019独角兽企业重金招聘Python工程师标准>>> 在IE8兼容模式下出现 js   缺少标识符.字符串或数字 是由于js代码中有些语句的结尾多了一个 , 删去即可 转载于:ht ...

  9. python3 format函数_Python学习教程:Python3之字符串格式化format函数详解(上)

    Python学习教程:Python3之字符串格式化format函数详解(上) 概述 在Python3中,字符串格式化操作通过format()方法或者f'string'实现.而相比于老版的字符串格式化方 ...

最新文章

  1. [Leetcode] Merge Sorted Array 合并数组
  2. 2019春第一次课程设计实验报告
  3. BZOJ 2561: 最小生成树(最小割)
  4. 州 选择国家_青海的三大城市:海南州、海北州和海西州,谁的风景更美?
  5. LeetCode 1676. 二叉树的最近公共祖先 IV
  6. ubuntu16.04升级 vim 8.0
  7. Oracle EBS 两个严重漏洞可导致企业金融记录遭篡改
  8. Mac上Gtk-WARNING **: cannot open display解决
  9. selenium+python模拟键盘鼠标操作,python3.6安装pyUserInput
  10. iPhoneSE3变化却提高了价格,安卓手机获得了喘息的空间
  11. ie浏览器样式兼容写法_浏览器兼容性以及写法
  12. 怎么查看邮件服务器25端口,如何避免邮件服务器25端口被攻击
  13. 【关于PTA平台中出现的问题】warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
  14. 边缘计算的下一场革命:1+12?
  15. Win10 1709 无法访问局域网共享问题及解决
  16. 《软件测试---你必须掌握的100个问题》
  17. 工作介绍xml书包文件
  18. 完全解读:用最小二乘法求模型参数
  19. ip网络广播系统服务器,IP网络广播系统概述
  20. Azure Kinect 安装使用

热门文章

  1. 使用vue-video-player做H5直播播放
  2. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java网上花店销售系统9o8g4
  3. Hadoop发展历史
  4. 巴科斯范式(EBNF, Extended Backus–Naur Form)
  5. 拼多多被辞当事人回应:言论过激,但不后悔
  6. ionic中的在线视频播放功能
  7. BeautifulPrompt:PAI推出自研Prompt美化器,赋能AIGC一键出美图
  8. 自组织神经网络SOM——MATLAB
  9. android骨架屏框架,Android 骨架屏效果,了解一下
  10. linux 命令之 ufw(Uncomplicated Firewall)