Javascript 在字符串中遇到重复项时如何插入符号

Javascript 在字符串中遇到重复项时如何插入符号,javascript,Javascript,假设我有一个字符串:aabbc,在每个字符之间插入一个符号,该字符不等于我要插入的前一个字符 这将导致以下字符串:aa$bb$c 如何实现这一点?您可以通过以下步骤实现: 可以使用扩展运算符将字符串转换为数组 然后对其使用map() 在map()中,检查current旁边的元素是否与current字母不同,然后在其末尾添加$ 使用join()将数组设置为字符串 使用额外的slice()删除最后一个$ let str='aabbc'; 设res=[…str].map((x,i,arr)=>a

假设我有一个字符串:
aabbc
,在每个字符之间插入一个符号,该字符不等于我要插入的前一个字符

这将导致以下字符串:
aa$bb$c


如何实现这一点?

您可以通过以下步骤实现:

  • 可以使用扩展运算符将字符串转换为数组
  • 然后对其使用
    map()
  • map()
    中,检查current旁边的元素是否与current字母不同,然后在其末尾添加
    $
  • 使用
    join()
    将数组设置为字符串
  • 使用额外的
    slice()
    删除最后一个
    $
let str='aabbc';
设res=[…str].map((x,i,arr)=>arr[i+1]!==arr[i]?x+'$':x).连接('').slice(0,-1)
console.log(res)
可能尝试执行以下操作:

var charArray = myString.split(''); //this should split the string in an array of the characters. ["a", "a", "b", "b", "c"]
var newString = "";
for (int i = 0; i < charArray.length -1; i++) { //I do length -1 so to not cause an IndexOutOfBoundException at charArrayi+1]
    if (charArray[i] === charArray[i+1]) {
        newString += charArray[i] + charArray[i+1] + "$";
    }
}
var charArray=myString.split(“”)//这将在一个字符数组中拆分字符串。[“a”、“a”、“b”、“b”、“c”]
var newString=“”;
对于(int i=0;i
大概是这样吧? 我还没有测试过这个,我只是在这里输入的。 但在我看来,这是对的

const a='aabbc';
让最后=“”;
设str='';
对于(设i=0;iconsole.log(str)
您可以使用简单的
for
循环来完成此操作,如下所述:

var string=“aabbc”;
var checkChar=“”;
for(设i=0;i
可以使用单个

模式说明:

  • -匹配任何单个字符(换行符除外);让我们称这个角色为X
  • ()
    -捕获子模式;捕获X,以便在替换字符串中引用它(解释如下)
  • \1
    -反向参考;匹配与X相同的另一个字符
  • (?!\1)
    -负面展望;仅当到目前为止匹配的X后面没有另一个X时才匹配
  • (?=)
    -积极前瞻;仅当迄今为止匹配的X后跟任何其他字符时匹配;换言之,声明行不到此结束。如果您不介意附加一个尾随的
    $
    ,则可以省略
替换字符串的说明:

  • $1
    -第一个捕获子模式捕获的X(见上文)
  • $
    -单个
    $
例如:

var input=“aabbc”;
var out=input.replace(/((?!\1)(?=)/g,“$1$$”;
控制台。注销
input.replace(/(.)(?!\1)(?=.)/g, "$1$$")