C#里的string.Replace是不能无视大小写的。

首先想到的是正则表达式,在网上查了下,果然有用正则表达式配合一些逻辑运算,实现无视大小写的字符串替换方法。但是正则表达式的方法用起来很麻烦,实验证明速度也不是最快。

而我要说的是用起来最方便,执行速度也是最快的一种。就是使用Microsoft.VisualBasic命名空间里的Strings。

1.首先添加引用Microsoft.VisualBasic.Dll

2.引入命名空间using Microsoft.VisualBasic;

使用Replace方法,以下为参数:

Strings.Replace(原字符串的内容,要替换的字段内容,替换后的字段内容,从第几位开始替换(注意默认为1),替换的次数(-1表示所有),是否无视大小写);

例:string str="AaBbCc_AaBbCc";


//将原字符串中的第一个Bb替换为Dd

str = Strings.Replace(str, "Bb", "Dd", 1, 1, CompareMethod.Binary);

打印结果:AaDdCc_AaBbCc

(CompareMethod.Binary的意思是用二进制去找,由于大小写字母的二进制代码显然是不同的,所以是不无视大小写的)


//将原字符串中的所有Bb替换为Dd

str=Strings.Replace(str,"Bb","Dd",1,-1,CompareMethod.Binary);

打印结果:AaDdCc_AaDdCc


//将原字符串中的所有Bb替换为Dd,以无视大小写的情况

str=Strings.Replace(str,"BB","Dd",1,-1,CompareMethod.Text);

打印结果:AaDdCc_AaDdCc

(CompareMethod.Text的意思是用文本去找,所以是无视大小写的)

这种方法只需要把几个重要的参数传进去就可以了,使用非常方便。由于它的原理是先Split(),再Join(),所以速度非常快。比正则表达式的方法快了许多。


需要注意的是,Replace不能替换空字符串。例如

string str="";

这时如果你用Strings.Replace去替换的话,将返回NULL

str=Strings.Replace(str, "", "Test", 1, -1, CompareMethod.Binary);

str==NULL为真

 
 

C#字符串替换_无视大小写的更多相关文章

  1. Java字符串替换忽略大小写

    今天在做字符串替换时忽略大小写,网上找到了一个非常简便的方法,使用String的replaceAll方法. java.lang.String.replaceAll(String regex, Stri ...

  2. C#中正则表达式进行忽略大小写的字符串替换

    在C#里要进行忽略大小写的字符串替换,用string的Replace是很难做到的,即使花了天大的力气做到了,效率仍然是很低的,正确的方法应该是使用正则表达式. 要使用正则表达式,首先需要引用命名空间: ...

  3. C# 无视大小写比价字符串以及字符串大小写转换

    //C#通过ToUpper()方法将字符串转换成大写,代码如下: string sentence= "this is in upper case."; Console.WriteL ...

  4. PHP 字符串替换 substr_replace 与 str_replace 函数

    PHP 字符串替换 用于从字符串中替换指定字符串. 相关函数如下: substr_replace():把字符串的一部分替换为另一个字符串 str_replace():使用一个字符串替换字符串中的另一些 ...

  5. 20170721_python字符串操作_《python语言及其应用》

    str = 'abcde...wxyz' [num]提取指定字符 str[0] == 'a' str[1] == 'b' str[-1] == 'z' [start:end:step]分片/切片,一定 ...

  6. Javascript 将字符串替换为特定的规律的字符串

    Javascript 将字符串替换为特定的规律的字符串 这是测试过程,可以再简化一点. function spinalCase(str) { // "It's such a fine lin ...

  7. EL 表达式截取字符串/替换字符/……

    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 下面是 ...

  8. C#不区分大小写的字符串替换(Replace)函数

    在.NET中,不调用C++/CLI,进行字符串替换有好几种方法: 1.最常用的,就是String实例.Replace(),但这个不能忽略大小写. 2.System.Text.Regex(Regular ...

  9. Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接

    Python 字符串_python 字符串截取_python 字符串替换_python 字符串连接 字符串是Python中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符 ...

随机推荐

  1. vs2015+opencv3.3.1+ maxflow-v3.01 c++实现Yuri Boykov 的Interactive Graph Cuts

    出的结果不理想. 感觉是tlink的权重的计算有问题,以及参数的设置.三个可设置参数是后面的 i j k  .如果你找到了一组好参数请告诉我. 下载地址 http://download.csdn.ne ...

  2. 简单概括下浏览器事件模型,如何获得资源dom节点

    在各种浏览器中存在三种事件模型:原始事件模型,DOM2事件模型,IE事件模型.其中原始的事件模型被所有浏览器所支持,而DOM2中所定义的事件模型目前被除了IE以外的所有主流浏览器支持. 浏览器事件模型 ...

  3. WKWebView 的使用和封装

    WKWebView 的使用和封装 前言 项目中有个新闻资讯模块展示公司和相关行业的最新动态. 这个部分基本是以展示网页为主,内部可能会有一些 native 和 JS 代码的交互. 因为是新项目,所以决 ...

  4. Linux--CentOS7使用firewalld打开关闭防火墙与端口

    1.firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status f ...

  5. 从map中取出最大或最小value对应的key---多种写法

    package com.yuwanlong.hashing; import java.util.ArrayList; import java.util.Collections; import java ...

  6. ubuntu17安装以及相关问题的解决

    .ssh的安装和配置 sudo apt-get update sudo apt-get install openssh-server 查看ssh服务是否启动 打开"终端窗口",输入 ...

  7. P3185 [HNOI2007]分裂游戏

    $ \color{#0066ff}{ 题目描述 }$ 聪聪和睿睿最近迷上了一款叫做分裂的游戏. 该游戏的规则试: 共有 n 个瓶子, 标号为 0,1,2.....n-1, 第 i 个瓶子中装有 p[i ...

  8. Linux常用的命令(3)

    1 文件的内容显示 cat 显示全部 more: 分屏幕显示,只能向后翻 less: 分屏幕显示,可以向上翻 head:查看前n行 默认10行 tail:查看后n行 -n -f: 查看文件尾部,不退出 ...

  9. asp.net boilerplate 配置文件加载

  10. Convert DataTable to List<T> where Class of List is Dynamic

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...