• string类(四、字符串比较相关)


    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(object 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

  • 相关阅读:
    golang批量修改文件名
    golang执行带空格的cmd命令
    了解golang的可变参数(... parameters)
    ADB命令连接逍遥模拟器
    通达信如何批量导出自定义板块,以及定义常量
    通达信日K线图中取周K线指标值
    go读取通达信本地数据
    Python读取通达信本地数据
    Golang: 解析JSON数据之一
    MT【357】角度的对称性
  • 原文地址:https://www.cnblogs.com/caymanlu/p/6361677.html
Copyright © 2020-2023  润新知