string类(四、字符串比较相关)
2017-01-19 14:42
218 查看
string类比较相关:
1. string.Compare [static]
1/ string.Compare(string A, string B);比较两个string,返回整数表示二者在排序顺序中的相对位置(区分大小写)
值小于0则A小于B,值等于0则A等于B,值大于0则A大于B。
2/ string.Compare(string strA, string strB, bool ignoreCase);
同上1并:设置是否忽略大小写,ignoreCase为true忽略,否则不忽略。
3/ string. Compare(string strA, string strB, StringComparison comparisonType);
同上1并:加入比较规则枚举值,用的较少
4/ string.Compare(string strA, string strB, bool ignoreCase, CultureInfo culture);
同上2并:加入区域性标志
其他重载:
string.Compare(string strA, string strB, CultureInfo culture, CompareOptions options);
5/ string.Compare(string strA, int indexA, string strB, int indexB, int length);
分别从两个string的index索引往下找length长度的子字符串进行比较
其他同上重载:
string.Compare(string strA, int indexA, string strB, int indexB, int length, bool ignoreCase);
string.Compare(string strA, int indexA, string strB, int indexB, int length, StringComparison comparisonType);
string.Compare(string strA, int indexA, string strB, int indexB, int length, bool ignoreCase, CultureInfo culture);
string.Compare(string strA, int indexA, string strB, int indexB, int length, CultureInfo culture, CompareOptions options);
string a="SA1"; string b="sa1"; string c="A14E"; string.Compare(a,b); //1 string.Compare(a,b,true); //0 忽略大小写 string.Compare(a,1,c,0,2); //0 取部分
2. string.CompareOrdinal [static]
1/ string.CompareOrdinal(string A, string B);计算每个字符串中从0索引开始往后的字符的数值来比较两个指定的string,对应的相等则继续比较下一个,不想等则停住返回差值.
2/ string.CompareOrdinal(string strA, int indexA, string strB, int indexB, int length);
同上1并:分别从两个string的index索引往下找length长度的子字符串进行比较
string a = "qa1ava"; string b = "qAava1"; string c = "QAava1"; var o = string.CompareOrdinal(a,b);//32 var k = string.CompareOrdinal(a,c);//32
3. string.CompareTo
a.CompareTo(ob4000
ject value);
a. CompareTo(string strB);
将此实例与指定的 System.String 对象进行比较,并指示此实例在排序顺序中是位于指定的 System.String 之前、之后还是与其出现在同一位置。
返回值:<0则a在前 ==0则位置相同 >0则a在后
string a = "a1ava"; string b = "Cava1"; var o = a.CompareTo(b); //-1
Compare相关返回都为int值,而Equals则返回bool值
4. string.Equals
a.Equals(string value);如果 value 参数的值与此实例相同,则为 true;否则为 false。[not static]string.Equals(string a,string b) 同上[static]
重载:
a.Equals(string value, StringComparison comparisonType);
string.Equals(string a, string b, StringComparison comparisonType);
同上并: 参数指定区域性、大小写以及比较所用的排序规则。
注:字符串比较时,从第一个字符开始看ASCII码
中文字符比较时,看中文编码,张三和张叁不一样。
拓展:
ASCII码(具体参照:http://tool.oschina.net/commons?type=4)
数字: 0- 9 : 48-57
大写字母:A-Z: 65-90
中间: [ / ] ^ _ 、:91-96
小写字母:a-z: 97-122
相关文章推荐
- 02-常用对象API(String类-构造函数),字符串中euqals比较
- 5.arm-REPNZ、SCANS、CMPS(比较字符串相关,随手代码)
- 字符串比较函数 String类compareTo()
- strcpy, lstrcpy 相关API实现字符串COPY, 性能之比较
- String类的split()方法与StringTokenizer方法对字符串分割并输出内容的性能比较
- 利用string类重载运算符!=比较string类字符串
- Shell脚本:时间相关、遍历目录、for、if、字符串比较、数字比较
- string类、字符串数组相关问题
- Java基本功练习十四(字符串和文本IO【文件读写数据、字符串生成器、String类方法、相关技巧】)
- C++ Primer Plus 学习笔记 第五章 01 for循环 递增运算符和递减运算符 复合语句,逗号运算符 C风格字符串比较、string类字符串比较
- String类字符串的比较
- String类 String 字符串的比较 String 字符串值不可变
- 字符串中String类的比较方法
- 请用c++ 实现stl中的string类,实现构造,拷贝构造,析构,赋值,比较,字符串相加,获取长度及子串等功能
- 看结果,测试?java中的String类 字符串拆分成字符串数组 判定邮箱地址 字符串比较 参数传递?
- shell整数、字符串比较相关参数
- Linux Shell数值比较和字符串比较及相关
- VC++ 比较两个字符串是否相等,字母大小写相关。
- string类字符串的比较--【Equals()与"=="是是否真的是等价的?】
- 比较常用的ASP.NET(C#)字符串相关函数