C#.NET字符串比较中忽略符号的方法

比如有这样两个字符串:


代码如下:

var a = "a-b=c12";
            var b = "a.b___c12";

好吧显然无论你使用哪种常规方法,他们的比较结果肯定不是0,因为他们长度不等,即使长度相等由于字符之间的符号不等他们也不可能相等。

怎样在字符串比较中忽略符号?事实上CompareOptions.IgnoreSymbols枚举选项可以达到这个要求。使用CultureInfo中的CompareInfo,然后用CompareInfo的Compare方法去比较两个字符串(这里可以指定CompareOptions枚举)。

代码:


代码如下:

var a = "a-bc=12";
            var b = "a.b___c12";

Console.WriteLine(String.Compare(a, b));

//使用InvariantCulture
            Console.WriteLine(CultureInfo.InvariantCulture.CompareInfo.Compare(a, b, CompareOptions.IgnoreSymbols));
            //当前当前CultureInfo
            Console.WriteLine(CultureInfo.CurrentCulture.CompareInfo.Compare(a, b, CompareOptions.IgnoreSymbols));

输出:


代码如下:

1
0
0

后面使用CompareOptions.IgnoreSymbols的方法返回0.

(0)

相关推荐

  • javascript 两个字符串比较函数

    Untitled function diff(){ var s = f.s1.value; var s1 = f.s2.value; document.write("s: " + s + ""); document.write("s1: " + s1 + ""); function sort(s, a){ for(i=0; i list1[n]){ l[j] = list1[n]; if (n [Ctrl+A 全选 注:如需引

  • shell字符串比较判断是否为数字

    二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别. 整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" -ne "$b" ] -gt 大于,如:if [ "$a" -gt "$b" ] -ge 大于等于,如:if [ "$a" -ge "$b" ] -lt 小于,如:if [ &

  • Flex字符串比较 还有Flex字符串操作

    最简单的方法,就是直接用 ">","<",">=","<=","!="和"==" 等等这样的比较修饰符来进行比较,或者自己不放心,还自己写一些方法来进行多层的校验, 还有一个功能很强大的trace();说实话,用得比较少,呵呵,不过在编码过程中实验倒是用得不少. 其实Flex就是将这些字符转换成ASCII编码来进行对比而已.只要是String,就可以用这样的方式来

  • PHP容易被忽略而出错陷阱 数字与字符串比较

    0 与任意非数字(或者说,不可转化为数字的字符)前导的字符串比较(操作符为==), 均返回 true. 原因是, 数字与字符串比较时, 先尝试将字符串转换为数字, 再比较, 一个不能转换为数字的字符串, 转换结果为0, 故, 与0比较总返回 true. 更加详细的比较规则, 多种类型的比较规则, 在 PHP手册/语言参考/运算符/比较运算符 可以找到. 在PHP里当两个数字型字符串(只含数字的字符串)进行比较的时候是直接转换成数值进行比较的 如下示例:(注意$a和$b两个变量的最后一位不相等)

  • C++实现strcmp字符串比较的深入探讨

    strcmp的实现函数简介原型:extern int strcmp(const char *s1,const char * s2); 用法:加头文件 #include <string.h> 功能:比较字符串s1和s2.一般形式:strcmp(字符串1,字符串2)返回值: 当s1<s2时,返回值<0 当s1=s2时,返回值=0 当s1>s2时,返回值>0 即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止.如:"A

  • PHP strncasecmp字符串比较的小技巧

    只是这样就需要转换两次.大多时候,我们是针对字符集转换的时候才会这样,比如判断参数传进来是否utf-8,这5个字符的写法,可就多了,比如UTF-8,Utf-8,utf-8等,那我们怎么办呢?strtolower?strupper?不需要啦.. strncasecmp($a,$b,$length)就可以了.. 如果返回是0则相等,那我们怎么判断呢? strncasecmp($str,'utf-8',5) == 0那么,传入的参数就是utf8的,是否很方便呢? 只是这些函数我们平时不太用得到,我看到

  • 用PHP中的 == 运算符进行字符串比较

    最近在Greg Beaver's的blog上发表的一篇新文章 comparing strings in PHP with the == operator 中提及了PHP的 == 运算符在对字符串进行比较时值得注意的问题. 在某些情况下,PHP会把类数值数据(如含有数字的字符串等)转换成数值处理,== 运算符就是其中之一.在使用 == 运算符对两个字符串进行松散比较时,PHP会把类数值的字符串转换为数值进行比较,下面的实验证实了这个结论:<?phpvar_dump('01' == 1);?> 以

  • PHP学习之字符串比较和查找

    1. 字符串比较 在PHP中,可以用==(双等号)或者 ===(三等号)来比较字符串.两者的区别是双等号不比较类型,三等号会比较类型,它不转换类型:用双等号进行比较时,如果等号左右两边有数字类型的值,刚会把另一个值转化为数字,然后进行比较.这样的话,如果是纯字符串或者NULL时,会转化为0进行比较.同样,大小于号也和等号一样,比较时可能出现不正确的结果. 所以,比较字符串可以用PHP的自带函数strcmp和strcasecmp.其中strcasecmp是strcmp的变种,它会先把字符串转化为小

  • java字符串比较获取字符串出现次数的示例

    比如:javascriptjavasejavaeejavame 思路:定义一个计数器获取java第一次出现的位置从第一次出现位置后剩余的字符串中继续获取java出现的位置每获取一次就计数一次当获取不到时,计数完成 复制代码 代码如下: class StringCount{    public static void main(String[] args){        String s = "javascriptjavasejavaeejavame";        int coun

  • C#.NET字符串比较中忽略符号的方法

    比如有这样两个字符串: 复制代码 代码如下: var a = "a-b=c12";            var b = "a.b___c12"; 好吧显然无论你使用哪种常规方法,他们的比较结果肯定不是0,因为他们长度不等,即使长度相等由于字符之间的符号不等他们也不可能相等. 怎样在字符串比较中忽略符号?事实上CompareOptions.IgnoreSymbols枚举选项可以达到这个要求.使用CultureInfo中的CompareInfo,然后用CompareI

  • AngularJS删除路由中的#符号的方法

    最近做一个web应用,有个需求需要删除angular路由中的#号. 例如: http://example.com/ http://example.com/#/about http://example.com/#/contact 需要改成 http://example.com/ http://example.com/about http://example.com/contact 这个是angular默认自带的,所以想要删除需要配置一下: $locationProvider.html5Mode(t

  • Mybatis或Mybatis-Plus框架的xml文件中特殊符号的使用详解

    在Mybatis的xml文件中,很多特殊符号是无法直接使用的,需要使用实体引用,假如在 XML 文档中放置了一个类似 "<" 字符,那么这个文档会产生一个错误,这是因为解析器会把它解释为新元素的开始. 原符号.实体引用.CDATA对照表 号.实体引用.CDATA对照表 原符号 实体引用 CDATA 说明 < < <![CDATA[ < ]]> 小于 <= <= <![CDATA[ <= ]]> 小于等于 > >

  • web.py在模板中输出美元符号的方法

    由于web.py已经在模板中定义"$"符号位定界符,所以在模板中如果要使用美元符号需要特殊处理. 如我要在模板中输出"$name"字符串: 复制代码 代码如下: $name 报错 $name被认定为一个变量而不是当作HTML字符串处理.如果想要输出"$name"字符串必须要这么写: 复制代码 代码如下: $$name 保存运行正确输出. 特别是跟jQuery里混合使用的时候,也要注意.如: 复制代码 代码如下: $("id")

  • prototype框架中美元符号$用法分析

    本文实例讲述了prototype框架中美元符号$用法.分享给大家供大家参考,具体如下: prototype是实现面向对象的一个重要工具,是javascript的一个不错的框架. 用jquery的人都知道,jquery中也有$美元符号,prototype中呢,也有$,他们有什么区别呢. 1.prototype中$()的用法 prototype写法 $("test") 或者 $$("#test"), 他相当于js中document.getElementById(&quo

  • PHP按符号截取字符串的指定部分的实现方法

    字符串截取在php开发中是比较常用的: 而且对于截取的需求也有很多种: 有时我们想截取最后一个斜杠'/'后面的数字: 有时我们又需要截取第一个斜杠'/'前面的内容判断用户输入的url链接带不带http://等等: 字符串的截取php内置函数就有很多种: 简单示例如下:  $str='123/456/789/abc'; 截取第一个斜杠前面的内容可以这样来: echo substr($str,0,strpos($str, '/')) 或者 $array=explode('/', $str); ech

  • python 如何去除字符串头尾的多余符号

    在读文件时常常得到一些\n和引号之类的符号,可以使用字符串的成员函数strip()来去除. 1.去除首尾不需要的字符 a= '"This is test string"' # strip()会默认去除'\n','\r','\t',' ',制表回车换行和空格等字符 a.strip('"') >>> 'This is test string' b = ' This is another string ' #首尾两个空格 b.strip(' ') >>

  • JS使用正则表达式除去字符串中重复字符的方法

    本文实例讲述了JS使用正则表达式除去字符串中重复字符的方法.分享给大家供大家参考,具体如下: 这里演示一个简单的JavaScript正则表达式实例,将一串含有重复字符串中的多余字符滤除掉,请运行查看效果. 具体代码如下: <html> <head> <title>利用正则表达法除去字符串中的重复字符</title> </head> <body> <script language="javascript">

  • PHP实现统计所有字符在字符串中出现次数的方法

    本文实例讲述了PHP实现统计所有字符在字符串中出现次数的方法.分享给大家供大家参考,具体如下: 先来看看效果: 算法: 循环一次字符串(本例的$str),把出现过的字符串记录在一个数组(如本例的$strRecord)内,如果已经此记录函数已经有,则不记录: 在每个字符串时,拿来与记录数组的值进行比较(本例的$strRecord[]['key']),如果记录里的某个值和这个字符串一样,就记录次数+1(本例的$strRecord[]['count']); 当然,设置一个变量,默认为false(如本例

  • jsp页面中表达式语言中的$符号不起作用的解决方法

    今天myeclipse里部署了之前做的一个测试项目,发现jsp里的$符号tomcat启动后页面上显示出来了,百度搜了下别人也有类似的问题出现过.经提醒原来是web.xml配置的version设置的是2.5而我tomcat5启动的.是tomcat的版本低于web的版本,从而导致$符号不能正常使用. 后将tomcat5改用tomcat6.jdk采用1.6 启动spring2.5项目.$显示问题解决. 以下是网上摘录的详细说明: 在jsp页面中用表达式语言中的$符号,如${pageScope.titl

随机推荐