是否有内置函数来提取字符串中的所有字符,直到第一次出现空格为止?
假设字符串是:
耐甲氧西林金黄色葡萄球菌
我希望能够得到子字符串:
甲氧西林耐药
发布于 2012-08-31 02:28:27
您可以通过两种功能来完成它:
newstring = mystring.Substring(0, mystring.IndexOf(" "))不过,如果mystring中没有空间,这将失败。
因此,您可以将mystring.IndexOf(" ")提取到变量中,并在尝试在Substring中使用它之前检查它是否是-1 (没有找到空间)。
发布于 2012-08-31 02:38:00
您可以使用的第一个解决方案是一个简单的IndexOf
string GetFirstWord(string source)
{
int index = source.IndexOf(" ");
if (index == -1) return source;
else return source.Substring(0, index);
}如果希望将所有单词保存在字符串数组中,则可以使用第二种解决方案。
string[] GetWords(string source)
{
return source.Split(' ');
}如果您只想要第一个单词,您可以这样使用它:
string word = GetWords("Methicillin-resistant staphylococcus aureus")[0];发布于 2012-09-03 02:49:56
和一个VB.NET解决方案。不,这不能用一个内置的方法来完成;您需要两个:
Left(myString, InStr(myString, " ") - 1)与其他需要检查的解决方案一样,如果InStr可能不包含空格,则myString不返回myString。
https://stackoverflow.com/questions/12208115
复制相似问题