gpt4 book ai didi

javascript - 查找和替换 JavaScript

转载 作者:行者123 更新时间:2023-11-30 15:35:53 26 4
gpt4 key购买 nike

输入是这样的:

0030 0110 0030 0210 0030 0310 0030 0410
0030 0510 0030 0610 0030 0710 0030 0810

我希望输出是这样的:

00 30 01 10 00 30 02 10 00 30 03 10 00 30 04 10 00 30 05 10 00 30 06 10 00 30 07 10 00 30 08 10

换句话说,我希望输出以两位(十六进制)数字的形式分开,并且只有一行。

我试过这个:

const REGEX_FIND_2 = /(\w{2}(?! |\n|\r))|(\n)|(\r)/g;
const REGEX_REPLACE_2 = "$1 ";

奇怪的是,它在 Sublime Text 3 中有效,但在 JavaScript 中,它会在行与行之间多添加一个空格,如下所示:

00 30 01 10 00 30 02 10 00 30 03 10 00 30 04 10  00 30 05 10 00 30 06 10 00 30 07 10 00 30 08 10

请注意 04 1000 30 之间的额外空格。

最佳答案

您可以用一个空格替换换行符,然后在每对数字之间插入一个空格:

s = s.replace(/[\r\n]+/g, ' ').replace(/(\d{2})(\d{2})/g, "$1 $2");

查看 JS 演示:

var s = "0030 0110 0030 0210 0030 0310 0030 0410\r\n0030 0510 0030 0610 0030 0710 0030 0810";
console.log(s.replace(/[\r\n]+/g, ' ').replace(/(\d{2})(\d{2})/g, "$1 $2"));

如果您需要确保只有“整个单词”的 4 位数字 block 受到影响,请使用单词边界:/\b(\d{2})(\d{2})\b/g

关于javascript - 查找和替换 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41547593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com