javascript中的字符串

简介: javascript中的字符串

可以使用单引号、双引号、反引号来定义字符串

let single = 'single-quoted';
let double = "double-quoted";
let backticks = `backticks`;

反引号里可以嵌套表达式,表达式要以${}包裹

function sum(a, b) {
  return a + b;
}
alert(`1 + 2 = ${sum(1, 2)}.`); // 1 + 2 = 3.

此外,反引号允许字符串以多行出现

let guestList = `Guests:
 * John
 * Pete
 * Mary
`;
alert(guestList); // a list of guests, multiple lines

可以使用换行符\n

let str1 = "Hello\nWorld"; // two lines using a "newline symbol"
// two lines using a normal newline and backticks
let str2 = `Hello
World`;
alert(str1 == str2); // true

可以计算字符串长度,通过调用length属性即可

alert( `My\n`.length ); // 3

可以使用中括号的语法来访问某一个字符,或者使用charAt方法

let str = `Hello`;
// the first character
alert( str[0] ); // H
alert( str.charAt(0) ); // H
// the last character
alert( str[str.length - 1] ); // o

也可以使用for of语句来迭代字符串

for (let char of "Hello") {
  alert(char); // H,e,l,l,o (char becomes "H", then "e", then "l" etc)
}

字符串被定义后,不能单独改变某个字符

let str = 'Hi';
str[0] = 'h'; // error
alert( str[0] ); // doesn't work

但是可以将值赋予一个新的字符串

let str = 'Hi';
str = 'h' + str[1]; // replace the string
alert( str ); // hi

可以使用indexOf来查找字符串第一次出现的位置,如果没有找到就返回-1

let str = 'Widget with id';
alert( str.indexOf('Widget') ); // 0, because 'Widget' is found at the beginning
alert( str.indexOf('widget') ); // -1, not found, the search is case-sensitive
alert( str.indexOf("id") ); // 1, "id" is found at the position 1 (..idget with id)

也可以从某个位置找起,indexOf接收第二个参数,表示从哪找起

let str = 'Widget with id';
alert( str.indexOf('id', 2) ) // 12

可以使用includes来判断字符串是否存在

alert( "Widget with id".includes("Widget") ); // true
alert( "Hello".includes("Bye") ); // false

可以使用startWith或者endWith来查询字符串的开头和结尾

alert( "Widget".startsWith("Wid") ); // true, "Widget" starts with "Wid"
alert( "Widget".endsWith("get") ); // true, "Widget" ends with "get"

可以使用slice截取子串

let str = "stringify";
alert( str.slice(0, 5) ); // 'strin', the substring from 0 to 5 (not including 5)
alert( str.slice(0, 1) ); // 's', from 0 to 1, but not including 1, so only character at 0

substring和slice差不多,不过起始位置可以比结束位置大

let str = "stringify";
// these are same for substring
alert( str.substring(2, 6) ); // "ring"
alert( str.substring(6, 2) ); // "ring"

substr从开始位置截取length个长度字符串

let str = "stringify";
alert( str.substr(2, 4) ); // 'ring', from the 2nd position get 4 characters
相关文章
|
1月前
|
JavaScript 前端开发
JS几种拼接字符串的方法
JS几种拼接字符串的方法
47 1
|
3月前
|
存储 JavaScript 前端开发
JS上传文件(base64字符串和二进制文件流)
这篇文章介绍了两种JavaScript文件上传的方法:使用FileReader对象将文件读取为base64字符串上传,以及使用FormData对象以二进制文件流的形式上传文件,包括如何处理文件选择、读取和上传的详细代码示例。
428 2
JS上传文件(base64字符串和二进制文件流)
|
2月前
|
JavaScript
js 解析 byte数组 成字符串
js 解析 byte数组 成字符串
68 5
|
3月前
|
JSON JavaScript 前端开发
JavaScript实现字符串转json对象的方法
JavaScript实现字符串转json对象的方法
|
1月前
|
存储 JavaScript 前端开发
JavaScript 字符串(String) 对象
JavaScript 字符串(String) 对象
40 3
|
2月前
|
JavaScript 前端开发
javascript创建字符串
javascript创建字符串
|
2月前
|
JavaScript 前端开发
如何在JavaScript中替换字符串:一篇详细指南
如何在JavaScript中替换字符串:一篇详细指南
|
2月前
|
存储 JavaScript
js切割截取字符串方法
js切割截取字符串方法
46 2
|
2月前
|
Web App开发 JavaScript 前端开发
JavaScript 模板字符串
JavaScript 模板字符串
27 3
|
2月前
|
存储 JavaScript 前端开发
JavaScript 字符串
JavaScript 字符串
21 2