HarmonyOS string没有replaceAll方法

HarmonyOS string没有replaceAll方法

HarmonyOS
2024-09-02 11:41:31
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

String.replace()方法默认只替换第一个匹配项。如果想替换所有匹配项,需要使用正则表达式,并加上全局标志g。例如:

let str = "Hello, World!";  
let newStr = str.replace(/o/g, "x");  
console.log(newStr); // 输出: "Hellx, Wxrld!" 

在上述代码中,/o/g是一个正则表达式,o是要匹配的字符,g是全局标志,表示替换所有匹配项。

可以用这种方式替代实现replaceAll方法。

使用param做入参,不是很固定,会影响正则逻辑,这边不建议封装通用的replaceAll方法,可以在有需要时针对场景,单独处理。

可以参考以下代码实现:

static replaceAll(needReplaceString:string,matchWhatString:string,needBeReplaceWhat:string):string { 
  let newStr = needReplaceString.replace(new RegExp(matchWhatString, 'g'),needBeReplaceWhat); 
  console.log(newStr) 
  return newStr; 
}
分享
微博
QQ
微信
回复
2024-09-02 17:34:16
相关问题
HarmonyOS没有方法直接退出APP
492浏览 • 1回复 待解决
HarmonyOS string 转 number
719浏览 • 1回复 待解决
Record<string, string>如何删除里边的元素
1308浏览 • 1回复 待解决
没有给canvas设置ColorFilter的方法
620浏览 • 1回复 待解决
HarmonyOS string object大小写区别
412浏览 • 1回复 待解决