如何检查字符串是否包含C#中的另一个字符串

时间:2011-08-11 11:21:03

标签: c#

我有这样的字符串:

var a = "abcdef  * dddddd*jjjjjjjjjjjjj";
var b = "aaaaaaaaaaaaaaaaaaaaaaaa * aaaaaa";
var c = "hhhhhhhhhhhhhhhhhhhhhhhhhhh";

我是否有微笑方式检查字符串是否包含前20个字符中的“*”?

5 个答案:

答案 0 :(得分:5)

试试这个

a.IndexOf('*') >= 0 && a.IndexOf('*') < 20

应该像魅力一样工作

编辑:如果根本找不到char,IndexOf也将返回-1,这可能是我想的有用信息。

答案 1 :(得分:3)

a.Substring(0, 20).Contains('*');

答案 2 :(得分:2)

bool contains = (a.Length > 20) ? a.Substring(0, 20).Contains("*") : a.Contains("*");

if(contains)
{
  etc...

答案 3 :(得分:2)

这样做,但你应该检查字符串长度 - 如果字符串太短,这段代码将失败:

bool b1 = a.Substring(0, 20).Contains('*');

答案 4 :(得分:0)

使用Linq:

 a.Take(20).Contains('*')

这是比基于子字符串的解决方案最简单有效的,因为它不会创建新的字符串对象