在小时和AMPM指示符之间插入空格

时间:2017-09-09 15:51:30

标签: c# regex

给出字符串" 5 pm"或" 5 am",我试图在数字和AM / PM指示符之间插入一个空格(空格)。

我有以下正则表达式替换

string pattern = @"((([1-9])|(1[0-2]))(A|P|a|p)(M|m))";
string replacement = "$1";
text = Regex.Replace(text, pattern, replacement);

然而,所有这一切都将删除" 5 pm",并将其替换为空(空)。

我不确定在替换变量中放入什么来实现我的目标。

我可以使用正则表达式来获取匹配组,然后进行一些字符串数学,插入,但是如果可能的话,我想学习正则表达式中的新东西。

3 个答案:

答案 0 :(得分:2)

string testString = "any string here 5pM  10 Am";
testString = Regex.Replace(testString, "(\\d)(AM|PM)", "$1 $2", RegexOptions.IgnoreCase);

输出应为:

  

这里的任何字符串5 pM 10 Am

答案 1 :(得分:0)

如果您确实想使用正则表达式,则以下内容可能有效:.adminpanel-span { font-size: 36px; border-bottom: 1px solid #777777; padding-bottom: 10px; } 。请让我知道它。

答案 2 :(得分:0)

在有更复杂模式的地方更好地使用正则表达式。

string.Replace方法足以进行简单的替换。

var st = "5pm or 5am";
st = st.Replace("pm", " pm").Replace("am", " am");