在 JavaScript 中替换字符串中的所有正斜杠
Replace all Forward Slashes in a JavaScript String
使用该String.replaceAll()
方法替换字符串中的所有正斜杠,例如const forwardSlashesReplaced = str.replaceAll('/', '-');
.
该replaceAll
方法返回一个新字符串,其中所有匹配项都替换为提供的替换项。
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()方法返回一个新字符串,其中
所有匹配的模式都被提供的替换项替换。
该方法采用以下参数:
姓名 | 描述 |
---|---|
图案 | 要在字符串中查找的模式。可以是字符串或正则表达式。 |
替换 | 用于通过提供的模式替换子字符串匹配的字符串。 |
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 中是不可变的。
如果您必须经常这样做,请定义一个可重用的函数。
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()
要替换字符串中的所有正斜杠:
- 在每个正斜杠上使用该
split()
方法将字符串拆分为一个数组。 - 使用该
join()
方法将数组连接成带有分隔符的字符串。
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()
方法在每个正斜杠上拆分字符串。
const str = 'bobby/hadz/com'; // 👇️ [ 'bobby', 'hadz', 'com' ] console.log(str.split('/'));
String.split方法采用
分隔符,并在每次出现所提供的分隔符时将字符串拆分为一个数组。
该String.split()
方法采用以下 2 个参数:
姓名 | 描述 |
---|---|
分隔器 | 描述每个拆分应该发生的位置的模式。 |
限制 | 一个整数,用于指定要包含在数组中的子字符串数的限制。 |
最后一步是使用
Array.join()
方法连接所有带有分隔符的数组元素(替换每个正斜杠)。
如果separator
省略参数值,则数组元素用逗号连接,
。
如果separator
参数设置为空字符串,则数组元素之间没有任何字符连接。
如果你必须经常这样做,你可以创建一个可重用的函数。
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()
方法将返回一个新字符串,其中所有正斜杠都替换为提供的替换项。
const str = 'bobby/hadz/com'; const replaced = str.replace(/\//g, ' '); console.log(replaced); // 👉️ 'bobby hadz com'
String.replace()
方法返回一个新字符串,其中一个、一些或所有正则表达式的匹配项被替换为提供的替换项。
该方法采用以下参数:
姓名 | 描述 |
---|---|
图案 | 要在字符串中查找的模式。可以是字符串或正则表达式。 |
替换 | 用于通过提供的模式替换子字符串匹配的字符串。 |
该String.replace()
方法返回一个新字符串,其中替换了模式的匹配项。该方法不会更改原始字符串。
正斜杠/ /
标记正则表达式的开始和结束。
我们使用反斜杠来转义正则表达式中的正斜杠字符,以便将其视为文字正斜杠。
我们使用g
(global) 标志是因为我们想要匹配/
字符串中出现的所有正斜杠,而不仅仅是第一次出现的地方。
如果您必须经常这样做,请将逻辑提取到可重用的函数中。
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()
方法,因为我发现它非常直接和直观。