具有正则表达式的String.replace

时间:2014-08-13 10:46:36

标签: c# string

string s = "Text1 Text2 08/13/2014 08:17:22";

如何取字符串“text1 text2”并删除DateTime?

我想得到1个字符串,其值为“text1 text2”

注意,文本可以是任何文本,时间可以是任何时间但具有相同的DateTime格式

5 个答案:

答案 0 :(得分:2)

  注意,文本可以是任何文本,时间可以随时随之而来   相同的日期时间格式

您可以简单地使用String.Remove

string result = s.Remove(s.Length - 19).Trim(); // skipped s.Length >= 19 check

答案 1 :(得分:0)

为什么不使用string.Substring?

string text = s.Substring(0, s.Length - "08/13/2014 08:17:22".Length);
via regex
string text = Regex.Match(s, @"([\s\S]*)\s?\d\d/\d\d/\d\d\d\d\s\d\d:\d\d:\d\d").Groups[1].Value;

答案 2 :(得分:0)

您始终可以删除结束符号。

s = s.Remove(s.Length-19);//19 is length of dates.

答案 3 :(得分:0)

尝试下面我在Visual Studio中测试的代码,它可以工作: -

 string s = string.Empty;
 string result = string.Empty;
 s = "Text1 Text2 08/13/2014 08:17:22";
 string[] split = s.Split(' ');
 foreach (string i in split.Take(2))
 {
      result += i;
 }

答案 4 :(得分:0)

以下是使用正则表达式的C#代码:

string newString = Regex.Replace(s, @" \d{2}/\d{2}/\d{4} \d{2}\:\d{2}\:\d{2}", "");