JavaScript 字符串(String) 对象

String 对象

String 对象用于处理文本(字符串)。

String 对象创建方法: new String()。

JavaScript 字符串

一个字符串用于存储一系列字符就像 "John Doe".

一个字符串可以使用单引号或双引号:

var carname="Volvo XC60";
var carname='Volvo XC60';

你使用位置(索引)可以访问字符串中任何的字符:

var character=carname[7];

字符串的索引从零开始, 所以字符串第一字符为 [0],第二个字符为 [1], 等等。

你可以在字符串中使用引号,如下实例:

var answer="It's alright";
var answer="He is called 'Johnny'";
var answer='He is called "Johnny"';

或者你可以在字符串中使用转义字符(\)使用引号:

var answer='It\'s alright';
var answer="He is called \"Johnny\"";

字符串(String)

字符串(String)使用内置属性 length 来计算字符串的长度:

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;

在字符串中查找字符串

字符串使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置:

var str="Hello world, welcome to the universe.";
var n=str.indexOf("welcome");

如果没找到对应的字符函数返回-1

lastIndexOf() 方法在字符串末尾开始查找字符串出现的位置。

内容匹配

match()函数用来查找字符串中特定的字符,并且如果找到的话,则返回这个字符。

var str="Hello world!";
document.write(str.match("world") + "<br>");
document.write(str.match("World") + "<br>");
document.write(str.match("world!"));

替换内容

replace() 方法在字符串中用某些字符替换另一些字符。

str="Please visit Microsoft!"
var n=str.replace("Microsoft","Runoob");

字符串大小写转换

字符串大小写转换使用函数 toUpperCase() / toLowerCase():

var txt="Hello World!";       // String
var txt1=txt.toUpperCase();   // txt1 文本会转换为大写
var txt2=txt.toLowerCase();   // txt2 文本会转换为小写

字符串转为数组

1.字符串使用split()函数转为数组:

txt="a,b,c,d,e"   // String
txt.split(",");   // 使用逗号分隔
txt.split(" ");   // 使用空格分隔
txt.split("|");   // 使用竖线分隔 

2.展开运算符 ( ...) 允许在需要多个元素(如数组文字)的地方扩展诸如字符串之类的可迭代对象。

这是将字符串扩展为字符数组的示例。正确处理采用两个代码单元的字符。

const text = "abc????";
const chars = [ ...text ];
console.log(chars);
//["a", "b", "c", "????"]

3.解构赋值语法可以将数组或可迭代对象中的值解包为不同的变量。

在解构数组或可迭代对象时,我们可以使用 rest 模式将其剩余部分提取到单个变量中。

const text = "abc????";
const [ ...chars ] = text;
console.log(chars);
//["a", "b", "c", "????"]

 4.Array.from辅助创建从阵列状或迭代的对象的新数组。字符串既可迭代又类似于数组,因此,可以成功地将其转换为字符数组。

const text = "abc????";
const chars = Array.from(text);
console.log(chars);
//["a", "b", "c", "????"]

重点说明

该split方法可能是将字符串转换为字符数组的常用方法,但它不处理采用两个代码单元的字符。

我们可以使用对象字面量中的扩展运算符、使用数组解构赋值语法中的剩余模式或Array.from实用程序将字符串正确转换为字符数组。

特殊字符

Javascript 中可以使用反斜线(\)插入特殊符号,如:撇号,引号等其他特殊符号。

查看如下 JavaScript 代码:

var txt="We are the so-called "Vikings" from the north.";
document.write(txt);

在JavaScript中,字符串的开始和停止使用单引号或双引号。这意味着,上面的字符串将被切成: We are the so-called

解决以上的问题可以使用反斜线来转义引号:

var txt="We are the so-called \"Vikings\" from the north.";
document.write(txt);

JavaScript将输出正确的文本字符串:We are the so-called "Vikings" from the north.

下表列出其他特殊字符,可以使用反斜线转义特殊字符:

字符串属性和方法

原始值字符串,如 "John", 没有属性和方法(因为他们不是对象)。

原始值可以使用 JavaScript 的属性和方法,因为 JavaScript 在执行方法和属性时可以把原始值当作对象。

字符串属性

属性描述
constructor对创建该对象的函数的引用
length字符串的长度
prototype

允许您向对象添加属性和方法

字符串方法

方法描述
charAt()返回在指定位置的字符
chartCodeAt()返回在指定的位置的字符的Unicode编码
concat()连接两个或更多字符串,并返回新的字符串
endsWith()判断当前字符串是否是以指定的字符串结尾的(区分大小写)
fromCharCode()将Unicode编码转为字符
indexOf()返回某个指定的字符串值在字符串中首次出现的位置
includes()查找字符串中是否包含指定的子字符串
lastIndexOf()从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置
match()查找找到一个或多个正则表达式的匹配
repeat()复制字符串指定次数,并将它们连接在一起返回
replace()在字符串中查找匹配的子串,并替换与之匹配的子串(不能识别正则表达式)
replaceAll()在字符串中查找匹配的子串,并替换与正则表达式匹配的所有子串
search()查找与正则表达式相匹配的值
slice()提取字符串的片段,并在新的字符串中返回被提取的部分
split()把字符串分割为字符串数组
startsWith()查看字符串是否以指定的子字符串开头
substr()从开始索引号提取字符串中指定数目的字符
substring()提取字符串中两个指定的索引号之间的字符
toLowerCase()把字符串转换为小写
toUpperCase()把字符串转换为大写
trim()去除字符串两边的空白
toLocaleLowerCase()根据本地主机的语言环境把字符串转换为小写
toLocaleUpperCase()根据本地主机的语言环境把字符串转换为大写
valueOf()返回某个字符串对象的原始值
toString()返回一个字符串

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值