我需要编写一个函数,它会在第一个单词(第一个空格)之后返回给我。
例如,我在C#2.0中得到了以下字符串。
string str = "M000. New Delhi"
现在我想编写一个函数,如果str
通过则返回“新德里”。
请建议!!
答案 0 :(得分:8)
在第一个空格后获取字符串的一部分:
string city = str.Substring(str.IndexOf(' ') + 1);
即使字符串中没有空格,也会产生结果。在这种情况下,IndexOf
方法将返回-1
,因此代码将返回整个字符串。如果你想在这种情况下使用空字符串或异常,那么你首先要将索引放入变量中,以便检查值:
string city;
int index = str.IndexOf(' ');
if (index == -1) {
throw new ArgumentException("Unable to find a space in the string.");
} else {
city = str.Substring(index + 1);
}
答案 1 :(得分:4)
string WhichIsBestDelhi(String str)
{
return "New Delhi";
}
无论传递什么字符串,这还有“返回新德里”的好处!
答案 2 :(得分:2)
string s = str.Split(new char[]{'.'})[1].Trim();
答案 3 :(得分:2)
如果传递str,我想编写一个返回“新德里”的函数。
你走了。
public string NewDehliFunction(string str)
{
if (str == "M000. New Delhi")
return "New Delhi";
else
return "?"; // what happens here???
}
但最重要的问题是“当传递别的东西时你想要它做什么?”
答案 4 :(得分:1)
步骤3:获取给定字符串的子字符串,其起始索引为 您在步骤2中找到的数字(str.Substring(6)适用于您的情况)
private static string ReturnThePartOfAStringAfterTheFirstWordAndWhiteSpace(string str)
{
if(str.Contains(" "))
{
int indexOfFirstWhiteSpace = str.IndexOf(" ");
string remainingStringAfterTheFirstWhiteSpace = str.Substring(indexOfFirstWhiteSpace + 1);
return remainingStringAfterTheFirstWhiteSpace;
}
else
return str;
}
您可以将此方法用于任何字符串,以便在第一个空格后找到该部分,这意味着第一个单词之后的部分。
答案 5 :(得分:0)
这一点都很不清楚。最简单的情况:
var result = str.Substring(6);
更复杂:
var result = str.Substring(str.IndexOf(". ")); // Possible off-by-one; can never remember
答案 6 :(得分:-1)
//替换“M000。”
str.Replace("M000. ",String.Empty);