JavaScript 字符串用于存储和处理文本。String (字符串)可以存储一系列字符,如 "JavaScript之字符串的方法"。String也是基础数据类型。接下来查看String常用方法,如有不足和不对的地方,请大家帮忙加以指证,谢谢。
①:length(): 输出字符串长度
<script>
var str = "Hello lian,nice to meet you,How are you?"
console.log("str的长度为:" + str.length);
</script>
②:charAt(): 返回指定位置的字符,索引从0开始
<script>
var word = 'wonderful'
console.log(word.charAt(2)); // 返回索引2的字符
console.log(word.charAt(0)); // 返回索引0的字符
console.log(word.charAt(10)); // 超出字符串长度,显示" "
console.log(word.charAt(-1)); // 索引为负数,显示" "
</script>
③:concat: 连接两个或者多个字符串,返回一个新字符串,不改变原字符串。
<script>
// 遇到不是字符串类型的,先转变成字符串再进行拼接
var mon = '2022'
var day = '04'
var min = 10
var hour = 15
console.log(mon.concat(day,min,hour));
// 字符串拼接也可以使用'+'
console.log(mon + day + min)
// concat和'+'的区别:concat直接转变字符串拼接,'+'遇到数字会相加
console.log(hour + min + day + mon)
</script>
④:substring():从原字符串取出子字符串并返回,不改变原字符串,初始位置为0,类似python切片,包头不包尾部
<script>
console.log("substring的用法");
var word = 'wonderful'
console.log(word.substring(2,6)); // nder
// 如果第一个参数大于第二个参数,自动更换两个参数的位置
console.log(word.substring(6,2)); // nder
// 第二个参数没有写,默认到字符串的最后一个单词
console.log(word.substring(2)); // nderful
// 如果参数是负数,自动将负数转为0
console.log(word.substring(2,-3)); // wo
console.log(word.substring(-3)); // wonderful
</script>
⑤:substr():从原字符串取出子字符串并返回,不改变原字符串,初始位置为0,类似substring切片,包头不包尾部
<script>
console.log("substr的用法");
var word = 'wonderful'
// 第一个参数是索引位置, 第二个参数是子字符串的长度
console.log(word.substr(2,6)); // nderfu
console.log(word.substr(6,2)); // fu
// 第二个参数没有写,默认到字符串的最后一个单词
console.log(word.substr(2)); // nderful
// 如果第二个参数是负数,将被自动转为0,因此会返回空字符串
console.log(word.substr(2,-3)); // ''
// 如果第一个参数是负数,表示倒数计算的字符位置
console.log(word.substr(-3)); // ful
</script>
⑥:slice():从原字符串取出子字符串并返回,不改变原字符串,初始位置为0,类似substring,包头不包尾部
<script>
console.log("slice的用法");
var word = 'wonderful'
// 第一个参数是索引位置,第一个参数是另一个索引位置
console.log(word.slice(2,6)); // nder
// 如果第一个参数大于第二个参数,slice方法返回一个空字符串
console.log(word.slice(6,2)); // ''
// 第二个参数没有写,默认到字符串的最后一个单词
console.log(word.slice(2)); // nderful
// 第二个参数是负数,倒着数对应的索引位置,最后一个索引是-1,截取也是包头不包尾
console.log(word.slice(2,-3)); // nder
console.log(word.slice(-3)); // ful
// 如果参数是负值,两个参数都是从尾部开始取,去对应的长度,包头有不包尾
console.log(word.slice(-1,-3)); // ''
</script>
总结以上三种提取部分字符串
- slice(start, end)
- substring(start, end)
- substr(start, length)
⑦:indexOf(): 确定一个字符串在另一个字符串中第一次出现的位置,返回匹配开始的索引。不匹配则返回-1
<script>
console.log("indexOf的用法");
var word = 'lxx i love you'
console.log(word.indexOf('love')); // 6
// 第二个参数,表示从该位置开始向后匹配
console.log(word.indexOf('love',4)); // 6
// 匹配不到返回-1
console.log(word.indexOf('hate')); // -1
</script>
⑧:trim(): 用于去除字符串两端的空格,返回一个新字符串,不改变原字符串
<script>
console.log("trim的用法");
var word = ' wonderful '
var word1 = '\t\nwonderful\r\n '
// 该方法去除的不仅是空格,还包括制表符(\t、\v)、换行符(\n)和回车符(\r)
console.log(word.trim());
console.log(word1.trim());
// ES6扩展方法,trimStart():去除前面的空格
console.log(word.trimStart());
// ES6扩展方法,trimEnd():去除后面的空格
console.log(word.trimEnd());
</script>
⑨:split(): 按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组
<script>
console.log("split的用法");
var word = 'wonderful'
var word1 = 'won|der|ful'
// 如果分割规则为空字符串,则返回数组的成员是原字符串的每一个字符。
console.log(word.split(''));
// 如果省略参数,则返回数组的唯一成员就是原字符串
console.log(word.split());
// split方法指定分隔符
console.log(word1.split('|'));
// split方法还可以接受第二个参数,限定返回数组的最大成员数。
console.log(word.split('',4));
</script>
⑩:replace() 方法用另一个值替换在字符串中指定的值:
<script>
// ⑩:replace() 方法用另一个值替换在字符串中指定的值:
var word = 'i love you'
console.log("replac的用法");
console.log(word.replace('love','hate'));
console.log(word); // 不改变原字符
// replace: 只替换首个匹配
var word1 = 'What do you do besides sleep'
console.log(word1.replace('do','did'));
</script>
⑪:toLowerCase():方法用于将一个字符串全部转为小写 (不改变原字符串) toUpperCase则是全部转为大写。(不改变原字符串)
<script>
var name = "Myfirstname";
console.log("toLowerCas的用法");
console.log(name.toLowerCase()); // 全部转为小写
console.log(name.toUpperCase()); // 全部转为大写
// 驼峰命名法:第一个单字以小写字母开始,第二个单 字的首字母大写;或每一个单字的首字母都采用大写字母,
var F = name.substring(2,3).toUpperCase();
var N = name.slice(7,8).toUpperCase();
console.log(name + "的驼峰命名为:" + name.substr(0,2) + F + name.substr(3,4) + N + name.substr(-3,3))
</script>