首页 > 其他分享 >字符串属性和方法

字符串属性和方法

时间:2023-12-19 19:15:59浏览次数:35  
标签:返回 start let str 字符串 方法 red 属性

一、什么叫字符串?
String(字符串)数据类型表示零或多个16位Unicode字符系列

二、字符串的声明?

使用双引号("")、单引号(’’)或反引号(`)标示。

三、字符串的属性和方法

1.属性length 使用length属性可以获取字符串的长度

const str = 'abcdefg'
str.length   // 7

字符串虽然有长度,但是的它的截断方法不生效,数组的话就会生效。

 const str = 'hello';
 str.length = 3;
 console.log(str);   // 'hello'
  let arr = [1, 2, 3, 4];
  arr.length = 2;
  console.log(arr);  //输出 [1,2]

2.方法

~~~charAt()和charCodeAt() 用法区别

前者返回索引位置,后者返回UTF-16 代码单元

2.1 

~~~indexOf(searchvalue,start)和lastIndexOf()及includes

返回某个指定的字符串值在字符串中首次出现的位置。

  • start 规定在字符串中开始检索的位置(可选)

  • 区分大小写

  • 如果没有找到匹配的字符串则返回 -1。

let str = "Hello world, welcome to the universe.";
let n = str.indexOf("e");  // 1
let m = str.indexOf("e", 4)   // 14
let p = str.indexOf("a")   // -1

 

~~~lastIndexOf() 

lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索。

注意:  该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。 看它是否含有字符串。

lastIndexOf(searchvalue,start)

  • 开始检索的位置在字符串的 start 处或字符串的结尾(没有指定 start 时)。

  • 区分大小写的!

  • 如果没有找到匹配字符串则返回 -1 。

let str = "I am from runoob,welcome to runoob site.";
let n = str.lastIndexOf("runoob");  // 28
let m = str.lastIndexOf("runoob", 9);  //-1

 

~~~includes()

includes() 方法用于判断字符串是否包含指定的子字符串

如果找到匹配的字符串则返回 true,否则返回 false。

注意:  

includes(searchvalue, start)

  • start:可选,设置从哪个位置开始查找,默认为 0。

  • includes() 方法区分大小写。

let str = "Hello world, welcome to the universe.";
let n = str.includes("world")   // true
let m = str.includes("world", 14)   // false

 

三者区别
indexOf(searchvalue,start)返回字符串值在字符串中首次出现的位置,如果指定第二个参数start,则在下标为start开始向后搜索
lastIndexOf(searchvalue,start)返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索
includes(searchvalue,start)用于判断字符串是否包含指定的子字符串,如果找到匹配的字符串则返回 true,否则返回 false

 

~~~concat()
连接两个或更多字符串,并返回新的字符串。等同于+

substr(start,length),subString(from,* to*),slice(start,end) 用法区别
substring(开始索引,结束索引),当某个参数是负值时,substring()方法会将所有负参数值都转化为0
slice(开始索引,结束索引),当某个参数是负值时,slice()方法将所有负值参数都当成字符串长度加上负参数值
substr(开始索引,长度),substr()方法将第一个负参数值当成字符串长度加上该值,将第二个负参数值转换为0

~~~seach()
查找的字符串或者正则表达式

查找与正则表达式相匹配的字符串。

search(searchvalue)

  • searchvalue 必须。查找的字符串或者正则表达式。

  • 返回值Number 与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置

  • 如果没有找到任何匹配的子串,则返回 -1。

 
let str = "The rain in SPAIN stays mainly in the plain";
let n = str.search('rain')   // 4
let m = str.search(/ain/i)   // 5
let p = str.search(/AIN/)   // 14
let q = str.search('abc')   // -1

 

~~~replace()

在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

replace(searchvalue,newvalue)

  • 返回一个新的字符串

  • 该方法不会改变原始字符串

let str = "Mr Blue has a blue house and a blue car";
let n = str.replace("blue", "red");
// Mr Blue has a red house and a blue car
let m = str.replace(/blue/g, "red");
// Mr Blue has a red house and a red car
let p = str.replace(/blue/gi, "red");
// Mr red has a red house and a red car

 

~~~replaceAll(regexp|substrnewSubstr|function)

在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,该函数会替换所有匹配到的子字符串

  • 当使用一个 regex 时,必须设置全局("g")标志, 否则,它将引发 TypeError:"必须使用全局 RegExp 调用 replaceAll"。

  • 返回一个新的字符串

  • 该方法不会改变原始字符串。

let str = "Mr Blue has a blue house and a blue car";
let n = str.replaceAll("blue", "red");
// Mr Blue has a red house and a red car
let m = str.replaceAll(/blue/gi, "red");
// Mr red has a red house and a red car

 

~~~split
 

把一个字符串分割成字符串数组

split(separator,limit)

  • separator: 可选。字符串或正则表达式,从该参数指定的地方分割 string Object。

  • limit: 可选。该参数可指定返回的数组的最大长度

  • 返回值:Array ,一个字符串数组

  • 该数组是通过在 separator 指定的边界处将字符串分割成子串创建的。返回的数组中的字串不包括 separator 自身。

  • 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割

  • split() 方法不改变原始字符串。

let str = "How are you doing today?";
let n = str.split('')
// ['H', 'o', 'w', ' ', 'a', 'r', 'e', ' ', 'y', 'o', 'u', ' ', 'd', 'o', 'i', 'n', 'g', ' ', 't', 'o', 'd', 'a', 'y', '?'] 
let m = str.split(' ')
// ['How', 'are', 'you', 'doing', 'today?']
let p = str.split()
// ['How are you doing today?']
let q = str.split(' ', 3)
// ['How', 'are', 'you']
let k = str.split('o')
// ['H', 'w are y', 'u d', 'ing t', 'day?']

 

~~~ match()

查找找到一个或多个正则表达式的匹配。

match(regexp)

  • regexp 必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。

  • 返回值为 数组 注意:  match() 方法将检索字符串 String Object,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。

  • i - 修饰符是用来执行不区分大小写的匹配。

  • g - 修饰符是用于执行全文的搜索(而不是在找到第一个就停止查找,而是找到所有的匹配)。

let str = "The rain in SPAIN stays mainly in the plain";
let n = str.match(/ain/g)   // ['ain', 'ain', 'ain']
let m = str.match(/ain/gi)   // ['ain', 'AIN', 'ain', 'ain']
let p = str.match(/abc/g)   // null

 

 ~~~toLowerCase()

把字符串转换为小写

let str = "Reeed";
str.toLowerCase()    // 'reeed'

 

 ~~~toUpperCase()

把字符串转换为大写
 
let str = "Reeed";
str.toUpperCase()   // REEED

 

~~~startsWith(searchvaluestart)

  • start: 可选,查找的开始位置,默认为 0。

  • startsWith() 方法对大小写敏感。

let str = "Hello world, welcome to the Runoob.";
let n = str.startsWith("Hello")   // true
let m = str.startsWith("world")   // false
let p = str.startsWith("world", 6)   // true

 

 

标签:返回,start,let,str,字符串,方法,red,属性
From: https://www.cnblogs.com/dutianyu/p/17914466.html

相关文章

  • 盘点java写入文件的几种方法
    盘点java写入文件的几种方法这篇文章主要介绍了java写入文件的几种方法,需要的朋友可以参考下一,FileWritter写入文件FileWritter,字符流写入字符到文件。默认情况下,它会使用新的内容取代所有现有的内容,然而,当指定一个true(布尔)值作为FileWritter构造函数的第二个参数,它会保......
  • python进行二进制数据处理的方法
    方法一:使用struct模块,特点轻量化,简单易用。缺点就是可读性不是太好,使用小数据临时使用一下,对于大量的数据解析,写起来比较繁琐,显得有点力不从心。importstructdata=b'\x92\xaa\xbb\xcc\x11\x22\x33\x44'a,b,c,d,e=struct.unpack(">BBBBI",data)print("a=0x%xb=0x%xc=......
  • Python字典中 fromkeys()方法的坑
    fromkeys()方法类似于列表的浅拷贝首先用该方法创建一个字典dict_=dict.fromkeys(('a','b','c','d'),[])print(dict_)输出:{'a':[],'b':[],'c':[],'d':[]}当我向某个key添加value时,问题出现了dict_['b......
  • spring boot 配置get方法枚举转换策略
    配置转换器@SuppressWarnings({"rawtypes","unchecked"})publicclassCompositeEnumConverterFactoryimplementsConverterFactory<String,Enum<?>>{ @Override public<TextendsEnum<?>>Converter<String,T>getC......
  • Ubuntu修改文件夹下面所有文件权限的方法
    ubuntu修改文件夹下所有文件的权限命令为:sudochmod-R777filenamefilename为要修改的文件夹名字。-R应该是表示递归修改filename文件夹下所有文件的权限。常用方法如下:sudo chmod 600×××(只有所有者有读和写的权限)sudochmod644×××(所有者有读和写的权限,组用......
  • 制作安装Linux操作系统的启动U盘方法
    制作安装操作系统的启动U盘安装系统前,我们需要制作系统安装启动U盘(或者DVD,但已经很少使用DVD,所以不再介绍),通过启动U盘来帮助我们安装下载好的Linux系统。接下来我们来介绍在Windows、Linux和MacOS三种系统下的制作启动U盘方法。准备条件:1.已经下载到本地的Linux系统安装镜像......
  • juc下的方法
    CountDownLatch是一个Java的并发工具类,用于使一个线程等待其他线程完成各自的工作。其主要用法如下:创建一个CountDownLatch实例,指定初始计数器的值。java复制代码 CountDownLatchcountDownLatch=newCountDownLatch(3);在需要等待的线程中调用await()方法,......
  • 培训机构如何避免员工跳槽?有什么挽留方法?
      一般情况下,当学校里最优秀的人才来找你商谈离职事宜的时候,再想留人往往已经为时太晚了,这一点请务必记住——这些员工早就得出了“是时候离开了”的结论,而且已经反复多次地看到(或者经历过)让他们不愿再留在你公司工作的事件。  如果他去的是对手的机构,你得到的结果已经不能叫......
  • Java Properties配置文件使用方法入门详解​
    JavaProperties配置文件使用方法详解使用配置文件的优点:好处1:可以把软件的设置永久化存储好处2:如果我们要修改参数,不需要改动代码,直接修改配置文件就可以了Properties配置文件文件后缀名为.properties,其内容是按键值对存储的。前面为键,后面为值。properties是一个双列集合,拥有Ma......
  • java,类、实例化、构造方法、this关键字、方法重载
    编写类的步骤:1、定义类名2、编写类的属性3、编写类的方法public 访问修饰符,表示在整个项目中都可以调用,也可以用其他词使用class关键字来定义类,如下,定义一个Cat类给了属性和方法,动态方法是没有static的publicclassCat{//属性Stringni_chen;Stringco......