替换 JavaScript 字符串中的所有正斜杠

在 JavaScript 中替换字符串中的所有正斜杠

Replace all Forward Slashes in a JavaScript String

使用该String.replaceAll()方法替换字符串中的所有正斜杠,例如const forwardSlashesReplaced = str.replaceAll('/', '-');.

replaceAll方法返回一个新字符串,其中所有匹配项都替换为提供的替换项。

索引.js
const str = 'bobby/hadz/com'; // ✅ Replace forward slashes with hyphens const forwardSlashesReplaced = str.replaceAll('/', '-'); console.log(forwardSlashesReplaced); // 👉️ 'bobby-hadz-com' // ✅ Replace forward slashes with backslashes const forwardSlashesReplaced2 = str.replaceAll('/', '\\'); console.log(forwardSlashesReplaced2); // 👉️ 'bobby\hadz\com'

String.replaceAll()方法返回一个新字符串,其中

所有匹配的模式都被提供的替换项替换。

该方法采用以下参数:

姓名 描述
图案 要在字符串中查找的模式。可以是字符串或正则表达式。
替换 用于通过提供的模式替换子字符串匹配的字符串。
索引.js
const str = 'bobby/hadz/com'; // ✅ Replace forward slashes with hyphens const forwardSlashesReplaced = str.replaceAll('/', '-'); console.log(forwardSlashesReplaced); // 👉️ 'bobby-hadz-com' // ✅ Replace forward slashes with backslashes const forwardSlashesReplaced2 = str.replaceAll('/', '\\'); console.log(forwardSlashesReplaced2); // 👉️ 'bobby\hadz\com'

在第一个示例中,我们将所有出现的正斜杠替换为连字符。

在第二个示例中,我们将所有出现的正斜杠替换为反斜杠。

String.replaceAll()方法返回一个新字符串,其中替换了模式的匹配项。该方法不会更改原始字符串。

字符串在 JavaScript 中是不可变的。

如果您必须经常这样做,请定义一个可重用的函数。

索引.js
function replaceForwardSlashes(string, replacement) { return string.replaceAll('/', replacement); } const str = 'bobby/hadz/com'; // 👇️ bobby-hadz-com console.log(replaceForwardSlashes(str, '-')); // 👇️ bobby\hadz\com console.log(replaceForwardSlashes(str, '\\'));

我们定义了一个函数,它接受一个字符串和一个替换项作为参数,并替换字符串中出现的所有正斜杠。

或者,您可以使用String.split()Array.join()方法。

使用#替换字符串中的所有正斜杠String.split()

要替换字符串中的所有正斜杠:

  1. 在每个正斜杠上使用该split()方法将字符串拆分为一个数组。
  2. 使用该join()方法将数组连接成带有分隔符的字符串。
索引.js
const str = 'bobby/hadz/com'; const forwardSlashesReplaced = str.split('/').join('-'); // 👇️ bobby-hadz-com console.log(forwardSlashesReplaced); const forwardSlashesReplaced2 = str.split('/').join('\\'); // 👇️ bobby\hadz\com console.log(forwardSlashesReplaced2);

我们使用该String.split()方法在每个正斜杠上拆分字符串。

索引.js
const str = 'bobby/hadz/com'; // 👇️ [ 'bobby', 'hadz', 'com' ] console.log(str.split('/'));

String.split方法采用

分隔符,并在每次出现所提供的分隔符时将字符串拆分为一个数组。

String.split()方法采用以下 2 个参数:

姓名 描述
分隔器 描述每个拆分应该发生的位置的模式。
限制 一个整数,用于指定要包含在数组中的子字符串数的限制。

最后一步是使用
Array.join()
方法连接所有带有分隔符的数组元素(替换每个正斜杠)。

如果separator省略参数值,则数组元素用逗号连接,

如果separator参数设置为空字符串,则数组元素之间没有任何字符连接。

如果你必须经常这样做,你可以创建一个可重用的函数。

索引.js
function replaceAllForwardSlashes(string, replacement) { return string.split('/').join(replacement); } // 👇️ bobby-hadz console.log(replaceAllForwardSlashes('bobby/hadz', '-')); // 👇️ bobby!hadz console.log(replaceAllForwardSlashes('bobby/hadz', '!'));

该函数将一个字符串和一个替换项作为参数,并替换字符串中出现的所有正斜杠。

或者,您可以使用该String.replace()方法。

使用#替换字符串中的所有正斜杠String.replace()

使用该String.replace()方法替换字符串中的所有正斜杠。

replace()方法将返回一个新字符串,其中所有正斜杠都替换为提供的替换项。

索引.js
const str = 'bobby/hadz/com'; const replaced = str.replace(/\//g, ' '); console.log(replaced); // 👉️ 'bobby hadz com'

String.replace()
方法返回一个新字符串,其中一个、一些或所有正则表达式的匹配项被替换为提供的替换项

该方法采用以下参数:

姓名 描述
图案 要在字符串中查找的模式。可以是字符串或正则表达式。
替换 用于通过提供的模式替换子字符串匹配的字符串。

String.replace()方法返回一个新字符串,其中替换了模式的匹配项。该方法不会更改原始字符串。

正斜杠/ /标记正则表达式的开始和结束。

我们使用反斜杠来转义正则表达式中的正斜杠字符,以便将其视为文字正斜杠。

我们使用g(global) 标志是因为我们想要匹配/字符串中出现的所有正斜杠,而不仅仅是第一次出现的地方。

如果您必须经常这样做,请将逻辑提取到可重用的函数中。

索引.js
function replaceAllForwardSlashes(string, replacement) { return string.replace(/\//g, replacement); } // 👇️ bobby-hadz-com console.log(replaceAllForwardSlashes('bobby/hadz/com', '-')); // 👇️ bobby!hadz!com console.log(replaceAllForwardSlashes('bobby/hadz/com', '!'));

该函数将一个字符串和一个替换项作为参数,并替换字符串中出现的所有正斜杠。

您选择哪种方法是个人喜好的问题。我会使用该
String.replaceAll()方法,因为我发现它非常直接和直观。