Javascript - replace()方法替换变量[含对变量进行全文替换] - 实践

    科技2023-10-18  103

    1.应用场景

    主要用于使用javascript 对字符串进行操作, 这里则是对字符串进行全局替换.

    2.学习/操作

    需求如下:

    1.首次需求

    字符串替换, 将第一个空格替换为下划线.

    很容易想到使用replace函数, 很多语言都提供了这样的函数.名字都是一样的, 用法也是大差不差.

    关于replace的用法: 

    https://wangdoc.com/javascript/stdlib/regexp.html#stringprototypereplace

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String/replace

    https://www.w3school.com.cn/jsref/jsref_replace.asp

     

    代码实现:

    let string =  'just test .';

    string = string.replace(/ /, '_');  // 这里可以直接使用空格即 / / 或者 /\s/

    console.log(string );

     

    执行结果: // 通过

     

    2.需求改变

    字符串替换, 将所有的空格替换为下划线. 只需要将上面的代码进行简单的修改, 即使得替换操作由局部变为全局操作.

    代码实现:

    let string =  'just test .';

    string = string.replace(/\s/g, '_');

    console.log(string);

     

    执行结果: // 通过

     

    3.需求再次改变.

    要替换的字符串可能是动态无法预测的.或者 很多种可能, 这样情况下, 就要定义一个变量来处理. 同样是全局替换.

     

    初次实现代码:

    // 字符串替换 function strReplaceAll(search = ' ', replacement = '_', string){     if(!string) return;     return string.replace(/search/g, replacement); }

     

    然后调用验证:

    let string =  'just test .'; 

    string = strReplaceAll(' ', '_', string);

    console.log(string);

     

    执行结果:  // 失败, 因为这里将参数search当作了字符串, 而不是变量.

    但是只是局部替换则是可以的.

     

    最后查询资料, 文档, 并且实践验证得到:  //不过还是csdn 找到了同样遇到这样问题的博客

    // 字符串替换 function strReplaceAll(search = ' ', replacement = '_', string){     if(!string) return;     return string.replace(new RegExp(search,'g'), replacement); }

     

    执行结果: //通过

     

    总结:

    我们遇到的很多问题, 总有人已经遇到, 并且已经解决, 有时候你要做的就是尽快地找到他们, 并且转化为自己的内在东西, 如果你是第一次遇到, 你是悲哀又是幸运的, 取决于你怎么对待.

    上面的问题或者说很多问题, 就是查阅资料和动手实践的问题, 但也是工作生活中很重要的能力[解决问题的问题.]的组成部分之一.

     

     

    后续补充

    ...

    3.问题/补充

    TBD

    4.参考

    https://blog.csdn.net/yzbben/article/details/53467659

    后续补充

    ...

     

    Processed: 0.032, SQL: 9