学习JS的第六天之字符串
学习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的第六天之字符串相关推荐
- javascript实战pdf_javascript该怎么学呢?学习Js之路
javascript该怎么学呢?Js给初学者的印象总是那么的"杂而乱",相信很多初学者都在找轻松学习Js的途径.在这里给大家总结一些学习Js的经验,希望能给后来的学习者探索出一条& ...
- javascript该怎么学呢?值得收藏的学习Js之路
javascript该怎么学呢?Js给初学者的印象总是那么的"杂而乱",相信很多初学者都在找轻松学习Js的途径.在这里给大家总结一些学习Js的经验,希望能给后来的学习者探索出一条& ...
- 初学者学习JAVASCRIPT很吃力怎么办?到底该如何学习JS?
Js给初学者的印象总是那么的"杂而乱",相信很多初学者都在找轻松学习Js的途径.在这里给大家总结一些学习Js的经验,希望能给后来的学习者探索出一条"轻松学习Js之路&qu ...
- js中对象和字符串互相转换的方法
今天学习的时候遇到了json_stringify 和 json_parse这两个方法,就好奇他们之间有没有什么相似的地方, 所以就去网上找了一下,接下来,我们一起去了解一下吧 先看下面这段代码 var ...
- 【JS】JS中数值型字符串相加变成拼接字符串的解决方法
[JS]JS中数值型字符串相加变成拼接字符串的解决方法 参考文章: (1)[JS]JS中数值型字符串相加变成拼接字符串的解决方法 (2)https://www.cnblogs.com/xsjs/p/1 ...
- JS对象和JSON字符串相互转化总结
在web开发中,一般情况下需要前端和服务器的交换数据,我们一般使用JSON来完成数据的传输,JavaScript操作的对象是一般是变量:因此我们需要将JSON字符串转换为JS变量,下面总结JS对象和J ...
- 学习js,尝试写一个表单验证框架(1)-规划
斗胆放到首页来,如果不合适的话就删了吧,谢谢 其实这个框架也已经写了一点了,但是越写越乱越没把握,最终决定写成博客的形式,强迫自己慢下步调,一点点仔细地规划,设计,思考,期间也一定会遇到不少问题,还请 ...
- js 缺少标识符、字符串或数字
2019独角兽企业重金招聘Python工程师标准>>> 在IE8兼容模式下出现 js 缺少标识符.字符串或数字 是由于js代码中有些语句的结尾多了一个 , 删去即可 转载于:ht ...
- python3 format函数_Python学习教程:Python3之字符串格式化format函数详解(上)
Python学习教程:Python3之字符串格式化format函数详解(上) 概述 在Python3中,字符串格式化操作通过format()方法或者f'string'实现.而相比于老版的字符串格式化方 ...
最新文章
- [Leetcode] Merge Sorted Array 合并数组
- 2019春第一次课程设计实验报告
- BZOJ 2561: 最小生成树(最小割)
- 州 选择国家_青海的三大城市:海南州、海北州和海西州,谁的风景更美?
- LeetCode 1676. 二叉树的最近公共祖先 IV
- ubuntu16.04升级 vim 8.0
- Oracle EBS 两个严重漏洞可导致企业金融记录遭篡改
- Mac上Gtk-WARNING **: cannot open display解决
- selenium+python模拟键盘鼠标操作,python3.6安装pyUserInput
- iPhoneSE3变化却提高了价格,安卓手机获得了喘息的空间
- ie浏览器样式兼容写法_浏览器兼容性以及写法
- 怎么查看邮件服务器25端口,如何避免邮件服务器25端口被攻击
- 【关于PTA平台中出现的问题】warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result
- 边缘计算的下一场革命:1+12?
- Win10 1709 无法访问局域网共享问题及解决
- 《软件测试---你必须掌握的100个问题》
- 工作介绍xml书包文件
- 完全解读:用最小二乘法求模型参数
- ip网络广播系统服务器,IP网络广播系统概述
- Azure Kinect 安装使用
热门文章
- 使用vue-video-player做H5直播播放
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java网上花店销售系统9o8g4
- Hadoop发展历史
- 巴科斯范式(EBNF, Extended Backus–Naur Form)
- 拼多多被辞当事人回应:言论过激,但不后悔
- ionic中的在线视频播放功能
- BeautifulPrompt:PAI推出自研Prompt美化器,赋能AIGC一键出美图
- 自组织神经网络SOM——MATLAB
- android骨架屏框架,Android 骨架屏效果,了解一下
- linux 命令之 ufw(Uncomplicated Firewall)