通过子字符串读取字符串的其余部分

时间:2016-09-09 05:21:00

标签: c# string

我有一个这样的字符串:

string mystring = "No : 123 - Date : 07/06/2009 - Explanation : Some explanation text"

我想从此字符串中获取一些解释文字。我怎样才能在C#中的说明:之后编写其余的字符串?或者有更好的方法来获得子串?感谢。

3 个答案:

答案 0 :(得分:6)

我会在这里推荐一个正则表达式方法,它会从其他帖子中删除问题,其中:字符可以包含在解释字符串中。

这个例子可以解决这个问题,因为"解释:"标签总是在字符串的末尾和"说明:"文本不能出现在一些解释文本

var mystring = "No : 123 - Date : 07/06/2009 - Explanation : Some explanation text"
var regex = new Regex("(.*)Explanation :(.*)");
var match = regex.Match(mystring);

if (match.Success)
{
   var explanation =  match.Groups[match.Groups.Count - 1].Value;
}  

答案 1 :(得分:3)

string mystring = "No : 123 - Date : 07/06/2009 - Explanation : Some explanation text";
string explSection = mystring.Substring(mystring.IndexOf("Explanation :"));
string explText = string.Join("",explSection.Split(':').Skip(1).ToArray());

上面的代码会为您提供所需的文字。

答案 2 :(得分:-1)

String mystring = "No : 123 - Date : 07/06/2009 - Explanation : Some explanation text";
string[] substrngs = mystring.Split(':');
string desiredString = substrngs[substrngs.Count - 1];

String.Split(char delim)将返回一个字符串[],其中包含通过分隔符“:”分割找到的所有字符串。 然后使用string []的Count属性来查找Split()找到多少个字符串,并根据您的解析欲望获取最后一个元素。