我有这样的字符串:
var a = "abcdef * dddddd*jjjjjjjjjjjjj";
var b = "aaaaaaaaaaaaaaaaaaaaaaaa * aaaaaa";
var c = "hhhhhhhhhhhhhhhhhhhhhhhhhhh";
我是否有微笑方式检查字符串是否包含前20个字符中的“*”?
答案 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('*')
这是比基于子字符串的解决方案最简单有效的,因为它不会创建新的字符串对象