C# String.replace为正则表达式
如何获取字符串“text1 text2”并删除日期时间 我想得到1个值为“text1 text2”的字符串 注意,文本可以是任何文本,时间可以是任何时间,但具有相同的日期时间格式 注意,文本可以是任何文本,时间可以是任何时间,但带有 相同日期时间格式 您可以简单地使用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
字符串。删除:
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}", "");