我需要从字符串的末尾获取单词。例如:
string1 = "Hello : World";
string2 = "Hello : dear";
string3 = "We will meet : Animesh";
我想输出
string1 = "World"
string2 = "dear"
string3 = "Animesh"
我想要:
之后的单词。
答案 0 :(得分:11)
各种方式:
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];
答案 1 :(得分:7)
您可以使用Split
string s = "We will meet : Animesh";
string[] x = s.Split(':');
string out = x[x.Length-1];
System.Console.Write(out);
更新以回应OP的评论。
if (s.Contains(":"))
{
string[] x = s.Split(':');
string out = x[x.Length-1];
System.Console.Write(out);
}
else
System.Console.Write(": not found");
答案 2 :(得分:2)
试试这个
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();
答案 3 :(得分:1)
正则表达式是解析任何文本并提取所需内容的好方法:
Console.WriteLine (
Regex.Match("Hello : World", @"[^\s]+", RegexOptions.RightToLeft).Groups[0].Value);
此方法可用,与其他回复不同,即使没有:
也是如此。