JS字符串

时间:2020-02-23 14:33:51  来源:igfitidea点击:

在本教程中,我们将学习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