字符串换行使用 /n ,ES6可以使用反引号进行换行
console.log('` 1
2
3`')
ES6字符串模板使用
var name = 小明;
var age = 18;
var message = '你好,${name},你今年${age}岁!'
要获取字符串某个指定位置的字符,使用类似Array的下标操作,索引号从0开始:
var s = 'Hello, world!';
s[0]; // 'H'
s[6]; // ' '
s[7]; // 'w'
s[12]; // '!'
s[13]; // undefined 超出范围的索引不会报错,但一律返回undefined
需要特别注意
的是,字符串是不可变的,如果对字符串的某个索引赋值,不会有任何错误,但是,也没有任何效果:
var s = 'Test';
s[0] = 'X';
alert(s); // s仍然为'Test'
操作字符串
split
split() 方法用于把一个字符串分割成字符串数组。
var str = '123'
str.split('') //['1','2','3']
//两个参数,第一个可传字符串或正则,第二个则是返回的数组的长度,不传默认全部分割;
字符串的操作方法不会改变字符串本身,只会返回一个新的字符串
replace()
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
str.replace(/Microsoft/, "W3School") //第一个参数传匹配值(正则),第二个传要替换的值
默认只替换第一个匹配到的值,要全局匹配需要/g
toUpperCase
toUpperCase()
把一个字符串全部变为大写:
var s = 'Hello';
s.toUpperCase(); // 返回'HELLO'
toLowerCase
toLowerCase()把一个字符串全部变为小写:
var s = 'Hello';
var lower = s.toLowerCase(); // 返回'hello'并赋值给变量lower
lower; // 'hello'
indexOf
indexOf()会搜索指定字符串出现的位置:
var s = 'hello, world';
s.indexOf('world'); // 返回7
s.indexOf('World'); // 没有找到指定的子串,返回-1
该方法可以用来判断字符串是否含有某些字符串,返回-1
,则没有
substring
substring()返回指定索引区间的子串:
var s = 'hello, world'
s.substring(0, 5); // 从索引0开始到5(不包括5),返回'hello'
s.substring(7); // 从索引7开始到结束,返回'world'