JS字符串
在本教程中,我们将学习JavaScript字符串。
什么是字符串?
字符串是用单引号或者双引号引起来的一系列字符。
示例:" Apple"和" Orange"是字符串。
字符串区分大小写。
因此," Hello"和" Hello"是不同的。
console.log("Hello" === "hello"); //this will print false
如何创建字符串?
在JavaScript中有两种创建字符串的方法。
我们可以使用String对象和字符串文字创建字符串。
使用String对象创建字符串
在这种情况下,我们实例化String对象来创建一个字符串。
在下面的示例中,我们将创建一个字符串" Hello World"。
var str = new String("Hello World"); console.log(typeof str); //this will print object
使用字符串文字创建字符串
在这种情况下,我们将字符串值分配给变量。
在下面的示例中,我们使用字符串文字创建一个字符串。
var str = "Hello World"; console.log(typeof str); //this will print string
字符串对象和字符串文字之间的区别
使用字符串文字(常规文本)创建的字符串保留字符串本身的值。
通过实例化String对象创建的字符串将值保存在对象中。
因此,我们可以轻松比较字符串文字。
但是我们不能使用==
和===
比较运算符来比较String对象的值。
var str1 = "Apple"; var str2 = "Apple"; console.log("str1 == str2 : " + (str1 == str2)); console.log("str1 === str2 : " + (str1 === str2));
str1 == str2 : true str1 === str2 : true
因此,在上面的代码中,我们可以看到我们可以使用==
和===
比较运算符轻松地比较字符串变量的值。
var str1 = new String("Apple"); var str2 = new String("Apple"); console.log("str1 == str2 : " + (str1 == str2)); console.log("str1 === str2 : " + (str1 === str2));
str1 == str2 : false str1 === str2 : false
因此,在上面的代码中我们可以看到,即使str1和str2都具有相同的值,但是我们无法使用==
和===
比较运算符直接对其进行比较。
字符串文字可以使用String对象的方法。
这是可能的,因为JavaScript使用方法时会将字符串文字转换为String对象。
一旦该方法的执行结束,它将转换回字符串文字。
如何查找字符串中的字符数?
我们使用length属性来查找字符串中的字符数。
在以下示例中,我们将打印字符串中的字符数。
var str1 = "Hello World"; var str2 = new String("Hello World"); console.log(str1.length); //this will print 11 console.log(str2.length); //this will print 11
字符串方法
charAt()
我们使用charAt()方法来获取字符串中给定位置的字符。
字符串的字符从索引0开始。
因此,第一个字符在索引0处,第二个字符在索引1处,而字符串的最后一个字符在索引(length-1)处,其中length是其中的字符数字符串。
在下面的示例中,我们将打印出字符串的字符。
var str = "ABC"; var len = str.length; for (var i = 0; i < len; i++) { console.log(str.charAt(i)); }
上面的代码将打印字符串中的所有字符。
charCodeAt()
我们使用charCodeAt()方法来获取字符串中给定位置的字符的字符代码。
字符代码是可以替代HTML中字符的数字代码。
单击此处获取HTML实体。
var str = "ABC"; var len = str.length; for (var i = 0; i < len; i++) { console.log(str.charCodeAt(i)); }
65 66 67
上面的代码是打印字符串中所有字符的字符代码。
concat()
我们使用concat()方法将字符串连接在一起以获得新的字符串。
var str1 = "Hello"; var str2 = " "; var str3 = "World"; var final_str = str1.concat(str2, str3); console.log(final_str);
Hello World
fromCharCode()
我们使用fromCharCode()方法从字符代码创建字符串。
var charCode = 65; console.log(String.fromCharCode(charCode));
A
indexOf( )
我们使用indexOf()方法来获取首次出现的字符或者字符串的索引。
如果找不到,则此方法将返回-1。
var str = "Hello World"; var search = "lo"; console.log("IndexOf " + search + " in " + str + " = " + str.indexOf(search));
IndexOf lo in Hello World = 3
lastIndexOf()
我们使用" lastIndexOf()"方法来获得出现字符或者字符串的最大索引。
如果找不到,则此方法将返回-1。
var str = "Hello World"; var search = "o"; console.log("LastIndexOf " + search + " in " + str + " = " + str.lastIndexOf(search));
LastIndexOf o in Hello World = 7
slice()
我们使用slice()
方法从字符串中获取一部分。
语法
str.slice(start, stop);
str是在其上执行切片的字符串。
start是我们将开始切片的起始索引。
在我们要切片之前,止损比索引大一个索引。
var str = "apple"; console.log("Before slice"); console.log(str); var sliced_str = str.slice(2, 4); console.log("After slice"); console.log(str); console.log("Sliced string"); console.log(sliced_str);
Before slice apple After slice apple Sliced string pl
在上面的代码中,我们有一个字符串str
。
我们正在使用slice方法拉出一部分字符串。
起始索引设置为2。
结束索引为4。
因此,索引2和(4-1)的字符(即3)被拉出。
split( )
我们使用split()
方法将字符串转换成数组。
我们使用分隔符来分割字符串。
在下面的示例中,我们有一个字符串,并使用" space"作为分隔符将其分成单词数组。
var str = "This is a sample string"; var strArr = str.split(" "); console.log("String"); console.log(str); console.log("Array"); console.log(arr);
String This is a sample string Array ["This", "is", "a", "sample", "string"]
substring()
我们使用substring()方法来获取字符串的一部分。
语法
str.substring(start, stop);
str是我们要处理的字符串。
start是起始索引。
止损比我们将止损的位置大一个指数。
var str = "This is a sample string"; var substring_str = str.substring(10, 16); console.log("String"); console.log(str); console.log("Substring"); console.log(substring_str);
String This is a sample string Substring sample
在上面的代码中,我们有一个字符串str
。
我们从起始索引10开始直到(16-1),即索引15取一个子字符串。
toString()
我们使用toString()方法来获取String对象的字符串文字值。
var strObj = new String("This is a sample string"); var str = strObj.toString(); console.log(str);
This is a sample string
toLowerCase()
我们使用" toLowerCase()"方法来获取字符串的小写值。
var str = "HELLO WORLD"; var str_lower = str.toLowerCase(); console.log(str); console.log(str_lower);
HELLO WORLD hello world
toUpperCase()
我们使用totoperCase()方法来获取字符串的大写值。
var str = "hello world"; var str_upper = str.toUpperCase(); console.log(str); console.log(str_upper);
hello world HELLO WORLD