您可以通过左右滑屏查看更多笔记内容。。

Js

24 Jul 2019 . category: tech .
更多笔记

JS中字符串截取(slice,substring,substr)

一、使用 slice() 截取

1,函数说明

slice() 方法可通过指定的开始和结束位置,提取字符串的某个部分,并以新的字符串返回被提取的部分。语法如下:

`stringObject.slice(start, end)`

参数说明:

  • start(必填):从哪里开始截取;包括start值;-1指最后一个字符,-2指第二个字符,以此类推;

  • end(可填):从何处结束,不包括此值,如果未填写此值,代表从start开始到结尾的所有字符;

  • 案例:

  • var str = "0123456789";
    console.log("从索引为3的字符起一直到结束:", str.slice(3));  //3456789
    console.log("从开始一直到倒数第3个字符的前一个字符:", str.slice(0,-3));  //0123456
    

二、使用 substring() 截取

1,函数说明

(1)substring 方法用于提取字符串中介于两个指定下标之间的字符。语法如下:

`stringObject.substring(start, stop)`

参数说明:

  • start(必填):一个非负整数,规定提取的子串的第一个字符在stringObject中的位置;
  • end(可选):一个非负的整数,比要提取的子串的最后一个字符在stringObject中的位置多1;

(2)注意事项:

  • 如果 startend 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。

  • 如果 startend 大,那么该方法在提取子串之前会先交换这两个参数。

  • 如果 startend 为负数,那么它将被替换为 0

  • 案例:

  • var str = "0123456789";
    console.log("start比end大会自动交换,结果同上:", str.substring(5,3)); //34
    

三、使用 substr() 截取

1,函数说明

1. substr 方法用于返回一个从指定位置开始的指定长度的子字符串。语法如下:

`stringObject.substr(start, length)`

参数说明:

  • start(必填):所需的子字符串的起始位置,字符串中的第一个字符的索引为0;
  • end(可填):在返回的子字符串中应该包括的字符个数;
  1. 注意事项:
  • 如果 length0 或负数,将返回一个空字符串。
  • 如果没有指定 length,则子字符串将延续到 stringObject 的最后。
  • 如果 startlength 为负数,那么它将被替换为 0

indecOf

得到指定字符串的下表,如果要检索的字符串值没有出现,则返回-1';


正则表达式(一般百度搜索即可)

一、

  1. ()分组;
  2. |管道符;
  3. ?匹配1~1次;
  4. “*“匹配>0次;
  5. +匹配>1次;
  6. {}匹配特定次数。{3,5}贪婪匹配(默认匹配最长的字符串),{3,5}?非贪婪匹配(在花括号的后面加一个’?‘);
  7. 建立字符分类,匹配方括号中出现的字符,在方括号内普通的正则表达式的符号不会被解释,加‘^’即为非字符类‘;
  8. ^插入符号,匹配发生在文本开始处;
  9. $美元符,匹配发生在文本结尾;
  10. 匹配除换行之外的所有字符;
  11. \转义字符;

二、

  • 字符分类
    • \d 0~9的任何数字;
    • \D 除0~9以外的任何字符;
    • \w 任何字母、下划线、或数字字符;
    • \W 除字母、下划线、数字以外的任何字符;
    • \s 空格、制表符或换行符(可以认为是匹配空白字符);
    • \S 除空格、制表符或换行符以外的任何字符;
  • 方法
    • xRegex = re.compile() 创建了一个 regex对象,compile()第二参数可以选择 re.IGNORECASE re.DOTALL re.verbose
    • xRegex.search() 返回一个 match 对象
    • xRegex.search().group()
    • xRegex.findall() 返回一个列表
    • xRegex.sub(‘string’, text) 将匹配的字符串 用string替换