我想使用正则表达式来搜索字符串、匹配单词并操纵最终结果。该字符串是书名,例如“了不起的盖茨比”、“美好的生活”或“流行病”。目标是取单词“the”、“a”和“an”,并用逗号将它们附加在标题的末尾,以便它们显示为:“Great Gatsby, The”、“Wonderful Life, A”和“流行病,一个”。有没有使用正则表达式的方法可以做到这一点?
问问题
2207 次
2 回答
4
这应该适用于大多数任何标题:
if (Regex.IsMatch(title, @"^(The|A|An)\b.+", RegexOptions.IgnoreCase))
title = Regex.Replace(title, @"^((The|A|An)\s)?(.*)$", "$3, $1", RegexOptions.IgnoreCase);
于 2013-09-16T17:44:01.627 回答
1
尝试这个:
string output = Regex.Replace(input,"^(\\w+\\s*)(.+)$","$2, $1");
于 2013-09-16T17:39:51.657 回答