字符串末尾的字符串子串

时间:2013-10-28 03:24:08

标签: c# substring

我需要从字符串的末尾获取单词。例如:

string1 = "Hello : World";
string2 = "Hello : dear";
string3 = "We will meet : Animesh";

我想输出

string1 = "World"
string2 = "dear"
string3 = "Animesh"

我想要:之后的单词。

4 个答案:

答案 0 :(得分:11)

各种方式:

var str = "Hello : World";
var result = str.Split(':')[1];
var result2 = str.Substring(str.IndexOf(":") + 1);

Clicky clicky - Live sample

编辑:

回应你的评论。索引1不适用于不包含冒号字符的字符串。你必须先检查一下:

var str = "Hello World";
var parts = str.Split(':');
var result = "";
if (parts.Length > 1)
    result = parts[1];
else
    result = parts[0];

Clicky clicky - Another live sample

答案 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);

此方法可用,与其他回复不同,即使没有: 也是如此。