首页 > 解决方案 > 检查字符串是否包含文本 C#

问题描述

我想找到一种方法来检查一个字符串是否包含文本,如果它包含文本,它将转到下一个并继续这样做,直到它找到一个空字符串或到达末尾。

问题是我找不到任何可以用来检查字符串是否包含任何文本的内容,我只能找到它IsNullOrWhiteSpace是否包含特定文本或是否包含特定文本。

标签: c#stringtextcontains

解决方案


字符串何时包含文本?那么当字符串存在并且它不包含空文本时。字符串何时包含空文本?当字符串长度为 0 时。

因此,回答您的问题,文本在存在时不为空,并且s.Length != 0

if (s != null && s.Length > 0) { /*s is not empty*/ }

或者更好

if (s?.Length > 0) { /*s is not empty*/ }

或者,如果您希望字符串不存在或为空时包含文本:

if (!string.IsNullOrEmpty(s)) { /*s is not empty*/ }

现在如果只包含空格的文本也必须被认为是空的,那么什么时候文本不是空的?当文本不是不存在或空格时,即IsNullOrWhiteSpacefalse

if (!string.IsNullOrWhiteSpace(s)) { /*s is not empty*/ }

推荐阅读