Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# String.replace为正则表达式_C#_String - Fatal编程技术网

C# String.replace为正则表达式

C# String.replace为正则表达式,c#,string,C#,String,如何获取字符串“text1 text2”并删除日期时间 我想得到1个值为“text1 text2”的字符串 注意,文本可以是任何文本,时间可以是任何时间,但具有相同的日期时间格式 注意,文本可以是任何文本,时间可以是任何时间,但带有 相同日期时间格式 您可以简单地使用字符串。删除: string s = "Text1 Text2 08/13/2014 08:17:22"; 为什么不使用string.Substring呢 string result = s.Remove(s.Length - 1

如何获取字符串“text1 text2”并删除日期时间

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

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

注意,文本可以是任何文本,时间可以是任何时间,但带有 相同日期时间格式

您可以简单地使用
字符串。删除

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

为什么不使用string.Substring呢

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

始终可以删除结束符号

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;

请尝试以下我在Visual studio中测试过的代码,它可以正常工作:-

s = s.Remove(s.Length-19);//19 is length of dates.
下面是使用正则表达式的C#代码:

 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;
 }

有尝试吗?Text1和Text2总是以空格分隔的单个单词?是否总是采用这种格式?它总是绳子的最后一部分吗?还是你总是想要前两个字。。。我不明白投票结果如何。问题很清楚。这里不需要“$”来表示字符串匹配的结束吗?在这种情况下不需要。因为日期时间字符串是19个字符long@Neel:是的,因为OP提到文本是可变的,但是
DateTime
的格式是严格的。所以规则是:从结尾删除19个字符(
“08/13/2014 08:17:22”。长度
)。
string newString = Regex.Replace(s, @" \d{2}/\d{2}/\d{4} \d{2}\:\d{2}\:\d{2}", "");