zoukankan      html  css  js  c++  java
  • Javascript中的Replace函数和C#中的Replace方法

    这是一个一直没有关注到的问题,重点在于C#中的Replace是全局替换字符(串),而Javascript中只是替换到匹配到的第一个,同样的代码,Javascript如下:

    var source='abc123abc456abc';
    var desc=source.replace('abc','');
    alert(desc);

    结果为:123abc456abc。

    在C#中代码如下:

    string source = "abc123abc456abc";
    string desc = source.Replace("abc", "");
    Console.Write(desc);
    

    结果为:123456

    而相应的Javascript函数似乎应该写为:

    var source='abc123abc456abc';
    var desc=source.replace(/abc/g,'');

    如此看来,C#实现反而令人难以理解了。于是反编译了一下String。

    看来这应该是引入了.NET内核的函数,再使用MSIL反编译一下mscorlib.dll,找到Replace实现:

    可以看出是内部调用了CIL类库,当然这个类库内部已经封装了,我们无法得知实现。

    这里留作一个TODO。

  • 相关阅读:
    【项目】项目27
    【项目】项目26
    【项目】项目25
    【项目】项目24
    【项目】项目23
    【项目】项目22
    【项目】项目21
    【项目】项目20
    【项目】项目19
    【项目】项目18【项目】项目18
  • 原文地址:https://www.cnblogs.com/walkingp/p/1980442.html
Copyright © 2011-2022 走看看