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
string类(四、字符串比较相关)的更多相关文章
- Java的API及Object类、String类、字符串缓冲区
Java 的API 1.1定义 API: Application(应用) Programming(程序) Interface(接口) Java API就是JDK中提供给开发者使用的类,这些类将底层的代 ...
- C++学习36 string类和字符串
C++大大增强了对字符串的支持,除了可以使用C风格的字符串,还可以使用内置的数据类型 string.string 类处理起字符串来会方便很多,完全可以代替C语言中的 char 数组或 char 指针. ...
- C++中String类的字符串分割实现
最近笔试,经常遇到需要对字符串进行快速分割的情景,主要是在处理输入的时候,而以前练习算法题或笔试,很多时候不用花啥时间考虑测试用例输入的问题.可是C++标准库里面没有像java的String类中提供的 ...
- java源码解析之String类(四)
/* * 返回指定字符第一次出现的字符串内的索引 */ public int indexOf(int ch) { return indexOf(ch, 0); } /* * 返回指定字符第一次出现的字 ...
- 100、Java中String类之字符串转为大写
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- C++ string类取字符串的左右子串(以特定子串为分界限)
// Example3.cpp : 定义控制台应用程序的入口点. //以特定单词为分界,求取字符串的左右子串 #include "StdAfx.h" #include <st ...
- string类自定义字符串替换函数replace
#include <iostream> #include <string> using namespace std; /* * 函数功能:将string字符串中的某些字符替换 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第5节 String类_2_字符串的构造方法和直接创建
string的构造方法 psvm创建main方法 把字节翻译成了小a小b小c.字符串的底层科室用的byte字节数组 Ctrl+鼠标左键点击string 这个byte就保存了字符串底层的字节数据 直接创 ...
- 114、Java中String类之字符串文本复杂二次拆分
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
随机推荐
- SQL SERVER 2005允许自定义聚合函数
不多说了,说明后面是完整的代码,用来将字符串型的字段的各行的值拼成一个大字符串,也就是通常所说的Concat 例如有如下表dict ID NAME CATEGORY 1 RED COLOR ...
- beyond compare 与git diff整合
这两天花了点时间最终在Window和Mac上把Beyong Compare和git整合好.当中遇到到非常多坑,如今把这些都分享出来.希望对大家有帮助. 首先如果你已经装好了Beyong Compare ...
- JSON对象和JSON字符串以及JSON.parse 函数的使用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- string.Format字符串格式化说明
1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0 ...
- etcd+calico集群的部署
etcd单机模式 设置环境变量 1 export HostIP="192.168.12.50" 执行如下命令,打开etcd的客户端连接端口4001和2379.etcd互联端口238 ...
- 一个表空间offline后alert日志报ORA-01135 和ORA-01110的问题
本文是原创文章.转载请注明出处:http://blog.csdn.net/msdnchina/article/details/44336789 近期遇到一个案例,是将一个表空间offline之后,al ...
- python中unicode和unicodeescape
在python中,unicode是内存编码集,一般我们将数据存储到文件时,需要将数据先编码为其他编码集,比如utf-8.gbk等. 读取数据的时候再通过同样的编码集进行解码即可. #python3 & ...
- Nginx 1.5.2 + PHP 5.5.1 + MySQL 5.6.10 在 CentOS 下的编译安装
最近配置了几台Web服务器,将安装笔记贴出来吧.没时间像以前那样,将文章写的那样系统了,请见谅.详细配置,可以看以前的旧文章: http://blog.zyan.cc/nginx_php_v6 .安装 ...
- Linux strace命令使用详解
strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统调用及它所接收的系统信息. 可谓是 linux 下的调试利器,不仅可以用来找程序错误,系统为什么挂死了,命令为什么报错 ...
- Oracle 11g安装图文攻略
一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符. 官方下地址: http://www.ora ...