源代码翻译工具基本完成了,只剩下最后问题:就是对字符串进行替换时,怎么无视原文的大小写。因为C#里的string.Replace是不能无视大小写的。首先想到的是正则表达式,在网上查了下,果然有用正则表达式配合一些逻辑运算,实现无视大小写的字符串替换方法。但是正则表达式的方法用起来很麻烦,实验证明速度也不是最快。而我要说的是用起来最方便,执行速度也是最快的一种。就是使用Microsoft.VisualBasic命名空间里的Strings。
首先添加引用Microsoft.VisualBasic.Dll
引入命名空间using Microsoft.VisualBasic;
使用Replace方法,以下为参数:
Strings.Replace(原字符串的内容,要替换的字段内容,替换后的字段内容,从第几位开始替换(注意默认为1),替换的次数(-1表示所有),是否无视大小写);
例:
string str="AaBbCc_AaBbCc";
//将原字符串中的第一个Bb替换为Dd
str=Strings.Replace(str,"Bb","Dd",1,1,CompareMetho d.Binary);
打印结果:AaDdCc_AaBbCc
(CompareMethod.Binary的意思是用二进制去找,由于大小写字母的二进制代码显然是不同的,所以是不无视大小写的)
//将原字符串中的所有Bb替换为Dd
str=Strings.Replace(str,"Bb","Dd",1,-1,CompareMeth od.Binary);
打印结果:AaDdCc_AaDdCc
//将原字符串中的所有Bb替换为Dd,以无视大小写的情况
str=Strings.Replace(str,"BB","Dd",1,-1,CompareMeth od.Text);
打印结果:AaDdCc_AaDdCc
(CompareMethod.Text的意思是用文本去找,所以是无视大小写的)
这种方法只需要把几个重要的参数传进去就可以了,使用非常方便。由于它的原理是先Split(),再Join(),所以速度非常快。比正则表达式的方法快了许多。
需要注意的是,Replace不能替换空字符串。例如
string str="";
这时如果你用Strings.Replace去替换的话,将返回NULL
str=Strings.Replace(str, "", "Test", 1, -1, CompareMethod.Binary);
str==NULL为真
发表评论
-
java正则表达式验证整数、浮点数和日期
2012-07-06 09:46 1148/** * 检查日期格式 * @param date * ... -
mailto语法
2012-07-06 09:30 641i am now in university(HIT@We ... -
PowerShell2.0之与COM对象交互(四)IE自动化
2012-07-05 20:45 662上一篇文章主要介绍了powershell中通过COM操作E ... -
(二)启动组件:intent
2012-07-03 13:44 658当有一个来自于content resolver的请求指向C ... -
flex list/tilelist drag scroll的speed移动太快
2012-07-02 12:47 681最近项目中遇到tilelist中拖拽的时scroll的移动 ... -
flex4:中DataGroup组件获取数据源(ArrayCollection方式)实例
2012-07-02 12:47 533flex/spark" xmlns:mx=&q ... -
[ActionScript3.0][My flex]读书笔记三之 模块化编程
2012-07-02 12:47 5351.加载mxml模块 第一步: 新建mxml模块:Data ... -
Flex 4 控件居中问题
2012-07-02 12:46 648今天尝试了一下,flex4开发,做了个panel,设置Ap ... -
Flex+Java 导出PDF文件(大小不定)时进度条应用
2012-07-02 12:46 6221.当点击"导出到PDF"按钮时,会弹 ... -
Flex ColumnChart verticalAxis 中的title在变换皮肤时的异常
2012-07-01 10:11 797在ColumnChart 中添加了title的显示,但在更 ... -
Flex数据绑定陷阱(二)
2012-07-01 10:11 538尝试绑定一个没有包含IPropertyChangeNoti ... -
在Flex Mobile中构建“本地”菜单
2012-07-01 10:11 691Adobe Flash Builder 4 简体中文正式版 ... -
给你的Flex程序添加深链接和分析-其实比你想象的要简单
2012-07-01 10:11 717Adobe Flash Builder 4 简 ... -
Flex 数据易犯错误: 常见误用和错误
2012-07-01 10:11 502在某些情形下,绑定操作似乎不能正常工作,此时你可能非常懊恼 ... -
记忆游戏(flex3版)
2012-06-30 16:35 614记忆游戏(flex3版) 2010年12月12日 接触f ... -
flash develop vs flex builder
2012-06-30 16:35 457flash develop vs flex builder ... -
从Lex&Yacc说到编译器(二、flex的使用)
2012-06-30 16:35 694从Lex&Yacc说到编译器(二、flex的使用) ... -
[转]使用Flash、HTML和Unity开发网页游戏的现实比较
2012-06-30 16:35 1086[转]使用Flash、HTML和Unity ... -
【FLEX学习】第二天
2012-06-30 16:35 313【FLEX学习】第二天 2011年02月14日 米写日志 ...
相关推荐
本文实例讲述了C#判断字符串是否存在字母及字符串中字符的替换的方法。分享给大家供大家参考。具体实现方法如下: 首先要添加对命名空间“using System.Text.RegularExpressions;”的引用 下面以一个字符串为例: ...
C#字符串删除指定字符串|C#字符串删除子字符串
字符串转EnCode_c# 字符串转EnCode_c# 字符串转EnCode_c# 字符串转EnCode_c# 字符串转EnCode_c# 字符串转EnCode_c# 字符串转EnCode_c# 字符串转EnCode_c#
C#字符串计算公式处理。例如工资计算公式:"{基本工资}+{奖金}-{保险}-{个税}"。
多种方法计算字符串中某个字符的数量
C#中,字符串传为16进制是非常使用的算法,如在一些特定是情况下,我们无法储存或传递中文字符串,这时候可以将他转为16进制使用,需要时再将其逆转回来。
c#字符串加密c#字符串加密
C#字符串函数大全 C#字符串函数大全将包括Len Len(string|varname) 、Trim Trim(string) 、Ltrim Ltrim(string)等多项内容 LenLen(string|varname)返回字符串内字符的数目,或是存储一变量所需的字节数。 ...
C#字符串截取固定长度的方法
c#批量替换某一类字符串,方便大家交流学习,可以运行的程序
C#字符串和正则表达式参考手册》》》》》》》》》》》
(c#)字符串转换成字符数组 字符串转换成int 数组
本文实例讲述了C#实现将字符串转换成日期格式的方法。分享给大家供大家参考。具体实现方法如下: 代码如下:string s = “20120114161145”; Response.Write(DateTime.ParseExact(s, “yyyyMMddHHmmss”, new System...
C#字符串函数
C#字符串通用操作类
C# 字符串数组 随机排序 方法 通过生成随机数,来对换改变任意数组变量值,此方法相对其它类型数组也通用
c#字符串倒置
C# 字符串反转程序 指针的应用
C#-字符串操作类(替换字符串中危险字符、指定位置替换字符串、指定长度缩减字段并加...、指定字符串分割字符串、指定字符串位置获取字符串、过滤SQL中非法字符、检查SQL语句中是否有非法关键字、随机字符串生成、...
用C#编写的用ASCII码发送的串口通信程序