字符串的操作方法 js,JS字符串操作
本文已经给大家带来了一些关于javascript的知识,主要是关于字符串的,包括常用的基本方法,特殊字符,emoji内部表达式等。来看看吧,希望对你有帮助。
【相关推荐:javascript视频教程,web前端】
在任何编程语言中,字符串都是重要的数据类型。关注我,了解更多关于JavaScript字符串的知识!
前言
字符串是一串字符。如果你学过C和Java,应该知道字符本身是可以独立成为一个类型的。然而,JavaScript没有单一的字符类型,只有长度为1的字符串。
JavaScript字符串是用UTF-16编码的,我们写程序的时候不管用什么编码都不会影响。
写法
字符串有三种写法:单引号、双引号、反引号。
let single= abcdefg//单引号let double= asdfghj//双引号Letbackti=`zxcvbnm//反引号和双引号地位相同,不区分。
字符串格式化
反引号允许我们使用优雅的格式化字符串$ {.}而不是字符串加法运算。
让str=`我${Math.round(18.5)}岁。console . log(str);代码执行结果:
多行字符串
反引号也可以让字符串跨行,这在我们写多行字符串的时候非常有用。
让ques=`作者帅吗?
A.很帅;
B.好帅;
C.超级帅;`;console . log(ques);代码执行结果:
是不是看起来没毛病?但是用单引号和双引号是达不到的。如果你想得到同样的结果,你可以这样写:
让ques=作者帅吗?\nA。很帅;\nB。好帅;\nC。“超级帅”;console . log(ques);上面的代码包含了一个特殊字符\n,这是我们编程过程中最常见的特殊字符。
特殊字符
个字符\ n也称为“换行符”,它支持单引号和双引号来输出多行字符串。引擎输出一个字符串时,如果遇到\n,就会继续输出另一行,这样就实现了多行字符串。
\n虽然看起来是两个字符,但是只占一个字符位置。这是因为\在字符串中是转义符,转义符修饰的字符变成了特殊字符。
特殊字符列表
特殊字符描述\n换行符,用于在新的一行上输出文本。\r回车,将光标移动到行首。在Windows系统中,\r\n表示新的一行,这意味着光标需要转到行首,然后转到下一行,才能换到新的一行。可以直接使用其他系统。\ \ 单引号和双引号,主要是因为单引号和双引号是特殊字符,我们想在字符串中使用单引号和双引号来转义。\ \反斜杠,也是因为\是一个特殊字符,如果我们只是想输出\本身,就要对它进行转义。\b \f \v退格、换页和垂直标签3354不再使用。\xXX是编码为XX的十六进制Unicode字符,例如:\x7A表示Z(Z的十六进制Unicode编码为7A)。\uXXXX是编码为XXXX的十六进制Unicode字符,例如:\u00A9表示。\u{X.X}(1-6个十六进制字符)UTF-32编码为X的Unicode符号.十.例如:
console.log(我是学生。);//\ console . log( \ I love U \ );//\console.log(\\n是换行符。);//\ n console . log( \ u00a 9 )//console . log( \ u { 1F60D } );//代码执行结果:
有了转义符\,理论上我们可以输出任何字符,只要找到它对应的代码就可以了。
避免使用\、\"
对于字符串中的单引号和双引号,我们可以通过在单引号中使用双引号,在双引号中使用单引号,或者直接在反引号中使用单引号和双引号来巧妙地避免使用转义字符,例如:
console.log(我是学生。);
//使用单引号console.log()使用。)在双引号中;
//在单引号中使用双引号console . log (```` ` I used .`);
//在后引号中使用单引号和双引号的代码执行结果如下:
.length
通过。字符串的length属性,我们可以得到字符串的长度:
console.log(HelloWorld\n 。长度);//11此处\ n仅占用一个字符。
访问字符、charAt()、for…of
字符串是一串字符。我们可以通过【字符下标】访问单个字符,字符下标从0开始:
让str=作者很帅;
console . log(str[0]);//tconsole . log(str[4]);//a console . log(str[str . length-1]);//.代码执行结果:
我们还可以使用charAt(post)函数来获取字符:
让str=作者很帅;console . log(str . charat(0));
//tconsole . log(str . charat(4));
//a console . log(str . charat(str . length-1));//.两者的执行效果完全相同,唯一的区别是当字符被越界访问时:
让str= 01234console . log(str[9]);//undefined console . log(str . charat(9));// (空字符串)我们也可以使用for.遍历字符串:
for(01234的字母c){
console . log(c);}
字符串不可变
JavaScript中的字符串一旦定义就不能更改。例如:
设str= Conststr[0]= c ;console . log(str);代码执行结果:
如果你想得到不同的字符串,你只能创建一个新的:
设str= Conststr=str.replace(C , C );console . log(str);看似我们换了弦,实际上原来的弦并没有变。我们得到的是replace方法返回的新字符串。
.toLowerCase()、.toUpperCase()
转换字符串的大小写,或字符串中单个字符的大小写。
这两个字符串的方法比较简单,例如:
console.log(好孩子)。toLowerCase());//很好
boyconsole.log(好孩子)。toupper case());//很好
BOYconsole.log(好孩子[5])。toLowerCase());//b代码执行结果:
: 010 -1010.indexof (substr,idx)函数从字符串的idx位置开始,找到substr的位置,成功返回substr的第一个字符的下标,失败返回-1。
让str= google googleconsole . log(str . index of( Google ));
//0 idx默认为0 console . log(str . index of( Google ,1));
//7从第二个字符开始查找console . log(str . index of( XXX ));
//-1未返回代码执行结果-找到1:
如果我们想查询一个字符串中所有子串的位置,我们可以使用一个循环:
让我爱爱爱爱你。让sub=爱;设pos=-1;while((pos=str.indexOf(sub,pos 1))!=-1)
console . log(pos);代码执行结果如下:lastingdexof (substr,idx)向后查询子字符串,首先查找最后一个匹配的字符串:
让str= google googleconsole . log(str . lastindexof( Google ));//7 idx默认为0
.indexOf()、.lastIndexOf() 查找子串
因为indexOf()和lastIndexOf()方法在查询不成功时会返回-1,而~-1==0。也就是说,只有在查询结果不是-1的情况下才使用true,所以我们可以:
让str= google googleif(~indexOf(google ,str)){
.}通常情况下,我们不建议使用无法清晰体现语法特征的语法,这样会对可读性造成影响。幸运的是,上面的代码只出现在旧版本的代码中,这里提到它是为了让大家在阅读旧代码时不会感到困惑。
:
按位取反技巧(不推荐,但要会)
.includes(substr,idx)用于确定substr是否在字符串中,idx是查询开始的位置。
console.log(Google Google )。包括(谷歌);//true console . log( Google Google )。包括(
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。