在C#中有没有模糊字符串替换函数,就象Vb里面的replace函数一样可以不分大小写替换的??
因为我没找到,所以现在只能用VisualBasic的命名空间的函数了,好惨!

解决方案 »

  1.   

    你可以用ToLower或ToUpper转换为全小写或全大写,然后替换
    string str="aaAA";
    string old="a";
    str.ToLower().Replace(old,"b");
    //结果str=bbbb
      

  2.   

    singlepine(小山)的做法改变了其它不需要修改的字符 用Regex.Replace
      

  3.   

    to Macosx() 确实是这样,上面这样做会替换其他的字符为大小写都一样了,
    能不能用Regex.Replace举个实际例子呀?
      

  4.   

    是哦,忽略了这点,sorry
    这样就可以了
    string s="abAB";
    Response.Write(s.Replace("B","c").Replace("b","c"));
    //结果acAc
    如果需要原来是大写的还大写,小写的还小写,则
    Response.Write(s.Replace("B","C").Replace("b","c"));
    //结果acAC用Regex.Replace也是一样,只是要写一个匹配的正则表达式出来
      

  5.   

    是哦,忽略了这点,sorry
    这样就可以了
    string s="abAB";
    Response.Write(s.Replace("B","c").Replace("b","c"));
    //结果acAc
    如果需要原来是大写的还大写,小写的还小写,则
    Response.Write(s.Replace("B","C").Replace("b","c"));
    //结果acAC------------------------------------------------------
    还是有点问题的,替换字符串如果是很长的呢,
    那要写很多个Replace
    感觉还是用正则好一点
    -------------------------------------------------------
      

  6.   

    一样的
    Replace("oldValue","newValue")
      

  7.   

    如果不用正则的话,单纯用Replace("oldValue","newValue")
    我觉得这样做不妥,如果要替换的字符串很长,而且有n种不同形式,例如要替换字符串
    abcdefg ,可能原字符串有 AbcdEfG,abCDeFG ........ 这样就麻烦了
    哪位大哥能给个正则表达式的例子呀?
      

  8.   


    楼主是要在C#中实现:就象Vb里面的replace函数分析:VB中的replace
    Dim MyString'二进制比较从字符串左端开始。返回 "XXYXXPXXY"。
    MyString = Replace("XXpXXPXXp", "p", "Y") '文本比较从第三个字符开始。返回 "YXXYXXY"。
    MyString = Replace("XXpXXPXXp", "p", "Y", 3, -1, 1) 
    vb里也可以区分大小写的,这个得先纠正过来
    正则实现
    using System;
    using System.Text.RegularExpressions;static void Main()
    {
    Console.WriteLine(CleanInput("akjk 9878)*(^&^,@-kjj.dfk99Ak,AK,aK,IIDDllak,AK,aaa,KKKK,KKKKAAAAAA,AA"));
    Console.ReadLine();
    }
    static string  CleanInput(string strIn,int n)
    {
    // Replace invalid characters with empty strings.
    return Regex.Replace(strIn, @"ak|Ak|aK|AK", "AK-47"); 
                               //或者return Regex.Replace(strIn, @"(A|a)(K|k)", "AK-47");//把ak,Ak,aK,AK都换为AK-47
    }
      

  9.   


    static string  CleanInput(string strIn)//int n去掉
    {
    // Replace invalid characters with empty strings.
    return Regex.Replace(strIn, @"ak|Ak|aK|AK", "AK-47"); 
                               //或者return Regex.Replace(strIn, @"(A|a)(K|k)", "AK-47");//把ak,Ak,aK,AK都换为AK-47
    }
      

  10.   

    return Regex.Replace(strIn, @"(A|a)(K|k)(B|b)", "AK-47"); 替换AKB,AKb,AkB,Akb,aKB,aKb,......在长的也不怕