我需要從字符串的末尾獲取單詞。例如:字符串末尾的字符串的子串
string1 = "Hello : World";
string2 = "Hello : dear";
string3 = "We will meet : Animesh";
我要爲
string1 = "World"
string2 = "dear"
string3 = "Animesh"
輸出我想要的:
後的單詞。
我需要從字符串的末尾獲取單詞。例如:字符串末尾的字符串的子串
string1 = "Hello : World";
string2 = "Hello : dear";
string3 = "We will meet : Animesh";
我要爲
string1 = "World"
string2 = "dear"
string3 = "Animesh"
輸出我想要的:
後的單詞。
各種方法:
var str = "Hello : World";
var result = str.Split(':')[1];
var result2 = str.Substring(str.IndexOf(":") + 1);
編輯:
在回答您的評論。對於不包含冒號字符的字符串,索引1將不可用。你必須首先要檢查:
var str = "Hello World";
var parts = str.Split(':');
var result = "";
if (parts.Length > 1)
result = parts[1];
else
result = parts[0];
::當我使用它通常它工作正常。但是,當我在datagridview中使用它顯示一個錯誤。 「指數數組的邊界之外。」在第二行 –
這是因爲您傳遞給它的字符串不包含冒號字符。要解決這個問題,你必須檢查長度..我會更新我的答案。 –
可以響應OPS的評論使用Split
string s = "We will meet : Animesh";
string[] x = s.Split(':');
string out = x[x.Length-1];
System.Console.Write(out);
更新。
if (s.Contains(":"))
{
string[] x = s.Split(':');
string out = x[x.Length-1];
System.Console.Write(out);
}
else
System.Console.Write(": not found");
當我通常使用它時,它工作正常。但是,當我在datagridview中使用它顯示一個錯誤。 「DataGridViewComboBoxCell {ColumnIndex = 0,RowIndex = 0}」。 –
你所有的字符串是否都有冒號(':')字符?如果字符串沒有它,那麼會出現錯誤。讓我更新答案。另外如果你的字符串中沒有':'會怎麼樣? – unlimit
正則表達式是分析任何文本,並提取出所需要的一個好辦法:
Console.WriteLine (
Regex.Match("Hello : World", @"[^\s]+", RegexOptions.RightToLeft).Groups[0].Value);
這種方法將工作,不像其他反應,即使沒有:
。
試試這個
string string1 = "Hello : World";
string string2 = "Hello : dear";
string string3 = "We will meet : Animesh";
string1 = string1.Substring(string1.LastIndexOf(":") + 1).Trim();
string2 = string2.Substring(string2.LastIndexOf(":") + 1).Trim();
string3 = string3.Substring(string3.LastIndexOf(":") + 1).Trim();
你檢查'string.Split'? – V4Vendetta