28个JavaScript常用字符串方法以及使用技巧总结

yizhihongxing

28个JavaScript常用字符串方法以及使用技巧总结

1. 字符串长度

通过 length 属性可以获取字符串的长度。

const str = 'Hello World';
console.log(str.length); // 11

2. 字符串截取

常见的字符串截取方式为 substringslice,两者用法类似,都是根据起始位置和结束位置截取字符串,区别在于当起始位置大于结束位置时,substring 方法会自动调换这两个参数,而 slice 方法则返回空字符串。

const str = 'Hello World';
console.log(str.substring(0, 5)); // "Hello"
console.log(str.slice(0, 5)); // "Hello"
console.log(str.substring(5, 0)); // "Hello"
console.log(str.slice(5, 0)); // ""

3. 字符串分割

可以通过 split 方法根据指定的分隔符将字符串分割成数组。

const str = 'item1,item2,item3';
console.log(str.split(',')); // ["item1", "item2", "item3"]

4. 字符串替换

可以通过 replace 方法将指定字符替换为其他字符。

const str = 'Hello World';
console.log(str.replace('World', 'JavaScript')); // "Hello JavaScript"

5. 字符串大小写转换

可以通过 toUpperCasetoLowerCase 方法将字符串分别转换成大写和小写。

const str = 'Hello World';
console.log(str.toUpperCase()); // "HELLO WORLD"
console.log(str.toLowerCase()); // "hello world"

6. 字符串去空格

可以通过 trim 方法去除字符串两端的空格。此外,也可以使用 trimStarttrimEnd 分别去除字符串开头和结尾的空格。

const str = ' Hello World   ';
console.log(str.trim()); // "Hello World"
console.log(str.trimStart()); // "Hello World   "
console.log(str.trimEnd()); // " Hello World"

7. 匹配字符串开头和结尾

可以使用 startsWithendsWith 方法判断字符串是否以指定的字符开头或结尾。

const str = 'Hello World';
console.log(str.startsWith('Hello')); // true
console.log(str.endsWith('World')); // true

8. 子字符串位置查找

可以使用 indexOflastIndexOf 方法查找一个子字符串在字符串中第一次出现和最后一次出现的位置。

const str = 'Hello World';
console.log(str.indexOf('o')); // 4
console.log(str.lastIndexOf('o')); // 7

9. 字符串是否包含指定字符

可以使用 includes 方法判断一个字符串是否包含指定的字符。

const str = 'Hello World';
console.log(str.includes('World')); // true

10. 使用正则表达式查找匹配

可以使用 search 方法和正则表达式来查找匹配的位置。

const str = 'Hello World';
console.log(str.search(/o/)); // 4

11. 字符串重复

可以使用 repeat 方法将一个字符串重复多次。

const str = 'Hello';
console.log(str.repeat(3)); // "HelloHelloHello"

12. 字符串拼接

可以使用 concat 方法将多个字符串拼接在一起。

const str1 = 'Hello';
const str2 = 'World';
console.log(str1.concat(' ', str2)); // "Hello World"

13. 原始值与字符串转换

可以使用 toString 方法将原始值转换成字符串。

const num = 123;
console.log(num.toString()); // "123"

14. ASCII码与字符转换

可以使用 charCodeAt 方法将一个字符转换成 ASCII 码,也可以使用 fromCharCode 方法将 ASCII 码转换成字符。

const str = 'A';
console.log(str.charCodeAt(0)); // 65
console.log(String.fromCharCode(65)); // "A"

15. 字符串模板

可以使用模板字符串的方式来拼接字符串,使用 ${} 包含变量。

const str = 'JavaScript';
console.log(`Hello ${str}`); // "Hello JavaScript"

16. 重复字符串占位符

可以使用 padStartpadEnd 方法来给字符串添加前缀或后缀使其固定长度,如果指定的长度小于当前字符串的长度,则不做任何操作。

const str = 'Hello';
console.log(str.padStart(8, '*')); // "***Hello"
console.log(str.padEnd(8, '*')); // "Hello***"

17. 根据函数返回值替换字符串

可以使用 replace 方法的第二个参数为函数的方式,根据函数的返回值替换字符串中的内容。

const str = 'abc1def2gh3ij4kl';
const result = str.replace(/\d+/g, function(match) {
  return parseInt(match) + 1;
});
console.log(result); // "abc2def3gh4ij5kl"

18. 字符串的字节长度

可以使用 encodeURI 方法对字符串进行编码,并获取其字节长度。

const str = '你好,世界';
console.log(encodeURI(str).replace(/%../g, 'x').length); // 10

19. URL编码与解码

可以使用 encodeURIComponentdecodeURIComponent 方法来对URL进行编码和解码操作。

const url = 'http://www.example.com?name=张三&age=20';
const encodedUrl = encodeURIComponent(url);
console.log(encodedUrl); // "http%3A%2F%2Fwww.example.com%3Fname%3D%25E5%25BC%25A0%25E4%25B8%2589%26age%3D20"
const decodedUrl = decodeURIComponent(encodedUrl);
console.log(decodedUrl); // "http://www.example.com?name=张三&age=20"

20. 字符串转换为数组

可以使用 Array.from 方法将一个字符串转换成数组。

const str = 'Hello World';
console.log(Array.from(str)); // ["H", "e", "l", "l", "o", " ", "W", "o", "r", "l", "d"]

21. 使用字符串遍历器

可以使用 for...of 循环遍历一个字符串。

const str = 'Hello World';
for (let s of str) {
  console.log(s);
}

22. 字符串的解构赋值

可以使用解构赋值的方式快速将字符串转换成数组。

const [a, b, c] = 'abc';
console.log(a); // "a"
console.log(b); // "b"
console.log(c); // "c"

23. 多个分隔符分割字符串

可以使用正则表达式和 split 方法来实现多个分隔符分割字符串。

const str = 'item1,item2;item3 item4';
console.log(str.split(/,|;|\s+/)); // ["item1", "item2", "item3", "item4"]

24. 缓存字符串变量

可以使用模板字符串的方式缓存字符串变量,避免多次连接字符串。

const str1 = 'Hello';
const str2 = 'World';
const cachedStrs = `str1 is ${str1}, and str2 is ${str2}`;
console.log(cachedStrs); // "str1 is Hello, and str2 is World"

25. 字符串数组排序

可以使用 localeCompare 方法对数组中的字符串进行排序。

const arr = ['Tom', 'Andy', '张三', '李四'];
arr.sort(function(a, b) {
  return a.localeCompare(b, 'zh');
});
console.log(arr); // ["Andy", "Tom", "李四", "张三"]

26. 多行字符串

可以使用模板字符串的方式实现多行字符串,也可以使用 \ 换行符实现多行字符串。

const str1 = `Hello
            World`;
console.log(str1); // "Hello
                  // World"
const str2 = 'Hello\nWorld';
console.log(str2); // "Hello
                  // World"

27. 十六进制转换为字符串

可以使用 String.fromCharCode 方法将十六进制转换为字符串。

const hexStr = '48656c6c6f20576f726c64';
const charCodeArr = [];
for (let i = 0; i < hexStr.length; i += 2) {
  charCodeArr.push(parseInt(hexStr.slice(i, i + 2), 16));
}
const str = String.fromCharCode(...charCodeArr);
console.log(str); // "Hello World"

28. 字符串大小写互换

可以使用 toUpperCasetoLowerCase 方法配合运算符 ^ 互换大小写。

const str = 'Hello World';
const convertedStr = str.replace(/[a-z]/gi, function(s) {
  return s === s.toUpperCase() ? s.toLowerCase() : s.toUpperCase();
});
console.log(convertedStr); // "hELLO wORLD"

示例1:将一个字符串中的所有数字加1。

const str = 'abc1def2gh3ij4kl';
const result = str.replace(/\d+/g, function(match) {
  return parseInt(match) + 1;
});
console.log(result); // "abc2def3gh4ij5kl"

示例2:将一个字符串中的所有空格去除,并将英文单词首字母大写。

const str = '    hello     world   ';
const result = str.trim().replace(/\b\w+\b/g, function(s) {
  return s.charAt(0).toUpperCase() + s.slice(1).toLowerCase();
});
console.log(result); // "Hello World"

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:28个JavaScript常用字符串方法以及使用技巧总结 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • JS如何对Iframe内外页面进行操作总结

    下面是JS如何对Iframe内外页面进行操作总结的完整攻略: 1. 通过window.parent获取父级页面对象并进行操作 window.parent用于获取当前iframe的父级页面对象,通过它可以调用父级页面的函数或属性进行操作。以下是一个示例进行说明: <!– 父级页面index.html –> <!DOCTYPE html&g…

    JavaScript 2023年6月11日
    00
  • Js中setTimeout()和setInterval() 何时被调用执行的用法

    当我们写JavaScript代码时,经常需要用到定时器来调用一些方法或者函数。其中,setTimeout()和setInterval()就是两个常用的方法。在此,我将向你详细讲解它们的用法及何时被调用执行。 setTimeout() setTimeout()方法用于在指定的时间后执行给定的代码。它的语法格式如下: setTimeout(function, d…

    JavaScript 2023年6月11日
    00
  • JavaScript获取上传文件相关信息示例详解

    让我详细讲解一下“JavaScript获取上传文件相关信息示例详解”。 1. 背景介绍 在前端开发中,有时需要上传文件,比如上传图片、上传文档等。上传文件时,我们需要获取文件的相关信息,比如文件名称、文件大小、文件类型等信息。 在本文中,我们将通过两条 JavaScript 示例详细讲解如何获取上传文件的相关信息。 2. 示例1:使用FileReader对象…

    JavaScript 2023年5月27日
    00
  • js实现3D粒子酷炫动态旋转特效

    实现3D粒子酷炫动态旋转特效,需要以下几个步骤: 1.创建canvas画布和粒子对象数组;2.为粒子对象添加随机坐标、颜色以及速度;3.绘制粒子,并实现动态旋转效果;4.根据屏幕大小更新粒子位置。 下面,我将详细解释每个步骤并且提供具体的代码示例。 创建canvas画布和粒子对象数组。 首先,我们需要创建一个HTML文件,添加一张背景图片,然后再创建一个ca…

    JavaScript 2023年6月10日
    00
  • 跟我学习javascript的全局变量

    下面是详细的攻略。 跟我学习JavaScript的全局变量 什么是全局变量 全局变量就是定义在全局作用域内的变量,可以在代码的任何地方被访问到。无论在哪个函数内或者是代码的外部,我们都可以访问及操作它。 在全局作用域内声明变量 在全局作用域内声明变量有两种方式: 使用var关键字 javascript var globalVar = “This is a g…

    JavaScript 2023年6月10日
    00
  • js获取当前页面路径示例讲解

    下面是“js获取当前页面路径示例讲解”的完整攻略。 什么是页面路径? Web页面的路径是指从Web服务器到Web文档的绝对或相对路径。绝对路径是从根目录开始的完整路径,如:http://www.example.com/index.html;而相对路径则是相对于当前文件所在的路径,如:./index.html。 如何在JS中获取当前页面路径? 获取当前页面路径…

    JavaScript 2023年6月11日
    00
  • JavaScript实现世界各地时间显示

    当使用 JavaScript 实现世界各地时间显示时,我们可以利用 Date 对象和其方法,将获取的世界各地时区与本地时间进行计算再进行显示。 以下是实现该功能的完整攻略: 步骤一:获取本地时间 在 JavaScript 中,我们可以通过创建 Date 实例来获取当前本地时间。下面是一个获取本地时间的实例: const localTime = new Dat…

    JavaScript 2023年5月27日
    00
  • js处理包含中文的字符串实例

    要处理包含中文的字符串,需要注意字符编码的问题以及字符串长度计算的问题。 在JavaScript中,字符串长度可以使用str.length来获取,对于包含中文的字符串,由于中文字符采用的是Unicode编码,因此一个中文字符在JavaScript中通常被视为两个字符。 因此,如果要获取包含中文的字符串的字符串长度,需要将中文字符视为两个字符进行计算。可以使用…

    JavaScript 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部