大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。
一、前言
字符串string的比较有很多方法,比如:
Equals
、Compare
、Contains
、IndexOf
、StartsWith
。
那么这些方法都有哪些不同,以及如何使用呢,这篇文章就来分享一下字符串对比的经验。
二、常用字符串对比方法使用
2-1、Equals
Equals
方法与”==”是等价的,举个例子:
using UnityEngine;
public class TestString : MonoBehaviour
{
string str1 = "hello";
string str2 = "world";
void Start()
{
// 两种方法是等价的
Debug.Log("使用 Equals方法:" + str1.Equals(str2));
Debug.Log("使用 == 运算符:" + (str1 == str2));
}
}
运行结果:
2-2、Compare
Equals
方法就是比较两个字符串,如果两个字符串不相等返回-1,两个相等则返回0。
举个例子:
using UnityEngine;
public class TestString : MonoBehaviour
{
string str1 = "hello";
string str2 = "world";
string str3 = "hello";
void Start()
{
Debug.Log("使用 Compare方法,不相等:" + string.Compare(str1,str2));
Debug.Log("使用 Compare方法,相等:" + string.Compare(str1,str3));
}
}
运行结果:
2-3、Contains
Contains
方法就是比较传递过来的参数,有没有相等的元素,有返回true,没有返回flase。
举个栗子:
using UnityEngine;
public class TestString : MonoBehaviour
{
string str1 = "hello";
string str2 = "world";
char c3 = 'h';
void Start()
{
Debug.Log("使用 Contains方法,参数char:" + str1.Contains(c3));
Debug.Log("使用 Contains方法,参数string:" + str1.Contains(str2));
}
}
运行结果:
2-4、IndexOf
IndexOf
方法,还有LastIndexOf
方法使用基本一致。
IndexOf
方法是从前往后找,返回字符对象在字符串中第一次出现的下标。
LastIndexOf
方法是从前往后找,返回字符对象在字符串中最后一次出现的下标。
举个例子:
using UnityEngine;
public class TestString : MonoBehaviour
{
string str1 = "helloworld";
string c2 = "o";
void Start()
{
Debug.Log("使用 IndexOf方法:" + str1.IndexOf(c2));//4
Debug.Log("使用 LastIndexOf方法:" + str1.LastIndexOf(c2));//6
}
}
运行结果:
2-5、StartsWith
StartsWith
方法用于检测字符串是否以指定的子字符串开始,是返回true,否返回false,方法对大小写敏感。
EndWith
方法用于检测字符串是否以指定的子字符串结束,是返回true,否返回false,方法对大小写敏感。
举个例子:
using UnityEngine;
public class TestString : MonoBehaviour
{
string str1 = "helloworld";
string c2 = "he";
void Start()
{
Debug.Log("使用 StartsWith方法:" + str1.StartsWith(c2));
Debug.Log("使用 EndsWith方法:" + str1.EndsWith(c2));
}
}
运行结果:
三、后记
本篇文章,讲解了string字符串中常用的比较字符串的方法。
- 比较字符串是否完全一样,可以用
Equals
。 - 比较两个字符串是否一样,可以用
Compare
,跟Equals
不同的是,Equals
是返回bool类型,Compare
返回int类型。 - 比较字符串中是否存在某个字符串可以用
Contains
。 - 比较字符串中是否存在某个字符串开头或者结尾可以用
StartsWith
和EndWith
,也就是比Contains
增加了一层限制。 - 比较字符串在某个字符串中出现第一次或者最后一次的下标,可以用
IndexOf
和LastIndexOf
如果有什么疑问都可以联系作者。
如果觉得本篇文章有用别忘了点个关注,关注不迷路,持续分享更多Unity干货文章。
你的点赞就是对博主的支持,有问题记得留言:
博主主页有联系方式。
博主还有跟多宝藏文章等待你的发掘哦: