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()
- 在
中,检查current旁边的元素是否与current字母不同,然后在其末尾添加map()
$
- 使用
将数组设置为字符串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;i console.log(str)
您可以使用简单的for
循环来完成此操作,如下所述:
var string=“aabbc”;
var checkChar=“”;
for(设i=0;i
可以使用单个
模式说明:
-匹配任何单个字符(换行符除外);让我们称这个角色为X
-捕获子模式;捕获X,以便在替换字符串中引用它(解释如下)()
-反向参考;匹配与X相同的另一个字符\1
-负面展望;仅当到目前为止匹配的X后面没有另一个X时才匹配(?!\1)
-积极前瞻;仅当迄今为止匹配的X后跟任何其他字符时匹配;换言之,声明行不到此结束。如果您不介意附加一个尾随的(?=)
,则可以省略$
-第一个捕获子模式捕获的X(见上文)$1
-单个$
$
var input=“aabbc”;
var out=input.replace(/((?!\1)(?=)/g,“$1$$”;
控制台。注销代码>
input.replace(/(.)(?!\1)(?=.)/g, "$1$$")