2012-01-16 25 views
19

有没有办法确定字符串中是否有空格?检查字符串之间是否有空格(或任何地方)

sossjjs sskkk应该返回truesskskjsk应该返回false。

"sssss".Trim().Length似乎没有工作。

+3

是否String.Contains(“”)不适合你? – Reddog 2012-01-16 23:34:31

+0

这是奇怪的... – Bastardo 2012-01-16 23:36:50

+0

可能重复的[检测文本框中的空白](http://stackoverflow.com/questions/8866455/detecting-whitespace-in-textbox) – 2012-01-16 23:43:59

回答

44

如何..

string s = "Hello There"; 
bool fHasSpace = s.Contains(" "); 
+1

对于有人试图不使用魔术字符串,这不是一个解决方案。 – 2017-05-05 14:10:51

+1

这确实是最好的解决方案,所有你需要做的检查空间是使用一个如果然后声明。 – 2017-10-12 13:46:45

4

Trim()只会删除前导或尾随空格。

尝试.Contains()检查一个字符串包含空格

"sossjjs sskkk".Contains(" ") // returns true 
+0

良好的通话。应该有这个想法! – dotnetdev 2012-01-16 23:39:33

7

它也可以使用正则表达式来实现这一点,当你想测试任何空白字符,而不仅仅是一个空间。

var text = "sossjj ssskkk"; 
var regex = new Regex(@"\s"); 
regex.IsMatch(text); // true 
+2

你也可以使用静态的'Regex.IsMatch(text,@“\ s”)' – 2016-04-16 12:52:57

+0

如果你正在做很多比较,那么值得使用实例版本,但是对于一般情况来说,静态的'Regex.IsMatch ()'绰绰有余http://stackoverflow.com/a/414411/132599。 – 2017-01-17 19:44:24

2

此功能可以帮助你......

bool isThereSpace(String s){ 
    return s.Contains(" "); 
} 
67

如何:

myString.Any(x => Char.IsWhiteSpace(x)) 

或者,如果你喜欢使用 “方法组” 语法:

myString.Any(Char.IsWhiteSpace) 
+1

用于检测所有类型的空格:http://en.wikipedia.org/wiki/Whitespace_character – Velcro 2015-01-11 16:36:26

+8

可以缩写为'if(myString.Any(Char.IsWhiteSpace))'并且可读性略高。 – 2015-04-11 14:09:32

+2

这真的应该是被接受的anwer,不知道有多少奇怪的空白字符在那里,这将与.NET的一切理解 – mfeineis 2015-06-22 10:58:49

-4

如果您只需要检测白色的开始和结束速度,我建议使用这种扩展方法,该方法已经考虑到了性能。

/// <summary> 
/// Detects Whitespace at the beginning or end of a string. 
/// Whitespace in the middle of the string is ignored. 
/// </summary> 
/// <param name="data"></param> 
/// <returns></returns> 
public static bool HasWhiteSpace(this string data) 
{ 
    return data[0] == 0x20 || data[data.Length - 1] == 0x20; 
} 
+0

哈哈,到底是什么?为什么所有的降价?我发誓Stackoverflow可能是互联网上最堕落的,自闭症和有毒的网站。 “以性能为中心进行微调”的 – Krythic 2017-11-28 07:30:17

+0

将以空字符串失败。 – sisve 2017-11-28 07:31:16

+0

另外,问题要求检查一个字符串是否有空格_in_它,而不是如果它在开始或结尾有一个空格。 – sisve 2017-11-28 07:31:59

相关问题