Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在字符串javascript中交换两个字符_Javascript_Regex_String - Fatal编程技术网

在字符串javascript中交换两个字符

在字符串javascript中交换两个字符,javascript,regex,string,Javascript,Regex,String,我有一个字符串2A一些文本2B 2C一些文本2D,我想用它的“下一个字符”交换2 结果将是A2一些文本B2 C2一些文本D2 我怎样才能做到呢 我试了以下方法,但不起作用 const str='2A一些文本2B 2C一些文本2D'; const strArray=str.split; const result=str.replace/2/gm,匹配,索引=>{ 返回序列[索引+1]+匹配; } document.writeresult使用正则表达式捕获组 正则表达式演示 const str=

我有一个字符串2A一些文本2B 2C一些文本2D,我想用它的“下一个字符”交换2

结果将是A2一些文本B2 C2一些文本D2

我怎样才能做到呢

我试了以下方法,但不起作用

const str='2A一些文本2B 2C一些文本2D'; const strArray=str.split; const result=str.replace/2/gm,匹配,索引=>{ 返回序列[索引+1]+匹配; }
document.writeresult使用正则表达式捕获组

正则表达式演示

const str='2A一些文本2B 2C一些文本2D'; const result=str.replace/2[A-Z]\b/g,'$2$1'
document.writeresult使用正则表达式捕获组

正则表达式演示

const str='2A一些文本2B 2C一些文本2D'; const result=str.replace/2[A-Z]\b/g,'$2$1' document.writeresult有限解决方案:

常量s='2A一些文本2B 2C一些文本2D'; 功能{ 让交换=[…s] 对于let i=swapped.length;i-{ 如果交换[i]==2{ 交换的[i]=交换的[i+1] 交换的[i+1]=2 } } console.logswapped.join }s 有限解决方案:

常量s='2A一些文本2B 2C一些文本2D'; 功能{ 让交换=[…s] 对于let i=swapped.length;i-{ 如果交换[i]==2{ 交换的[i]=交换的[i+1] 交换的[i+1]=2 } } console.logswapped.join
}s 下面是一个使用Regex实现结果的简单方法

const str='2A一些文本2B 2C一些文本2D'; const result=str.replace/2./gm$1+2
document.writeresult这里有一个使用Regex实现结果的简单方法

const str='2A一些文本2B 2C一些文本2D'; const result=str.replace/2./gm$1+2
document.writeresult虽然其余答案非常好,但我接受它,因为它不仅交换A-Z字符。虽然其余答案非常好,但我接受它,因为它不仅交换A-Z字符。