繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM