1

例如如何替换字符串

LD1091158 LD1091158 LD1091158 ScreenLysP - :10/11/2013 3:30:46 PM  1 91 / ABDLys2HB+ LD1091159 LD1091159 LD1091159 ScreenLysP - ABDLys2HA+ 

上面是一个字符串。在此,我想将10/11/2013 3:30:46 PM替换为空字符串。我为此使用了正则表达式,但它不起作用。

Regex.Replace(str, @"\d{1,2}/\d{1,2}/\d{4} \d\d:\d\d:\d\d [AP]M", "");

但它不工作。

4

2 回答 2

0

\d\d匹配 2 位数字。使用\d{1,2}or\d\d?匹配 1 或 2 位数字。

Regex.Replace(str, @"\d{1,2}/\d{1,2}/\d{4} \d{1,2}:\d\d:\d\d [AP]M", "");
//                                         ^^^^^^^

演示

于 2013-10-12T07:47:17.887 回答
0

试试这个正则表达式

\d{1,2}\/\d{1,2}\/\d{4}\s\d{1,2}:\d{1,2}:\d{1,2}\s[AP]M

在此处输入图像描述

你错过的积分

  1. 要逃离太空,你需要\s
  2. 要逃跑/,你需要\/

更新:

我试过了,它对我有用

string s = "LD1091158 LD1091158 LD1091158 ScreenLysP - :10/11/2013 3:30:46 PM  1 91 / ABDLys2HB+ LD1091159 LD1091159 LD1091159 ScreenLysP - ABDLys2HA+ ";
string ss = Regex.Replace(s, @"\d{1,2}\/\d{1,2}\/\d{4}\s\d{1,2}:\d{1,2}:\d{1,2}\s[AP]M", "");
Console.WriteLine(ss);

输出:

LD1091158 LD1091158 LD1091158 ScreenLysP - : 1 91 / ABDLys2HB+ LD1091159 LD1091 159 LD1091159 ScreenLysP - ABDLys2HA+

于 2013-10-12T07:53:58.290 回答