我正在尝试拆分并重新连接字符串以获取 URI 的片段。
我从一个简单的16个字符的ID开始,我要把它分成8对字符,例如从
0b00271180119cce
到
0b/00/27/11/80/11/9c/ce/
有什么方法可以仅使用 RegEx 来实现吗?
使用类似的东西
([A-zA-z-0-9]{1,2})
我得到了一个有 8 个匹配项的组,但我不知道如何将它们重新组合成一个带有分隔符的字符串(在这种情况下为“/”)。
提前致谢!
在替换字符串中使用反向引用。
$&
指的是正则表达式匹配的内容。
let string = '0b00271180119cce';
let new_string = string.replace(/.{1,2}/g, '$&/');
console.log(new_string);
给定:
const id = "0b00271180119cce";
使用下面的正则表达式:
const regex = /([A-Z0-9]{2})/ig;
const regex = /([a-zA-Z0-9]{2})/g;
也会起作用。选项一
匹配正则表达式并重新组合成带有分隔符(在这种特定情况下为“/”)的字符串的最简单方法是使用正则表达式
replace
并将匹配的捕获组后跟斜杠插入输出字符串。这是 JavaScript 中的示例:
const result = id.replace(regex, "$1/");
$n
其中n
是组号选项2
您还可以使用正则表达式
replace
将函数作为第二个参数来实现此目的:
const result = id.replace(regex, (match, group) => `${group}/`);
您可以
console.log
两个result
s来观察所需的输出:
console.log(result); // "0b/00/27/11/80/11/9c/ce/"
const id = "0b00271180119cce";
const regex = /([A-Z0-9]{2})/ig;
let result = id.replace(regex, "$1/");
console.log(result);
result = id.replace(regex, (match, group) => `${group}/`);
console.log(result);