[英]How can I check if a string contains another string in C#
我有这样的字符串:
var a = "abcdef * dddddd*jjjjjjjjjjjjj";
var b = "aaaaaaaaaaaaaaaaaaaaaaaa * aaaaaa";
var c = "hhhhhhhhhhhhhhhhhhhhhhhhhhh";
我有没有一种微笑的方式来检查字符串在前 20 个字符中是否包含“*”?
尝试这个
a.IndexOf('*') >= 0 && a.IndexOf('*') < 20
应该像魅力一样工作
编辑:如果根本找不到 char,IndexOf 也将返回 -1,我猜这可能是有用的信息。
a.Substring(0, 20).Contains('*');
bool contains = (a.Length > 20) ? a.Substring(0, 20).Contains("*") : a.Contains("*");
if(contains)
{
etc...
这样做可以,但您应该检查字符串长度——如果字符串太短,此代码将失败:
bool b1 = a.Substring(0, 20).Contains('*');
使用 Linq:
a.Take(20).Contains('*')
这是比基于子字符串的解决方案最简单有效的方法,因为它不会创建新字符串 object
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.