在两个连续的大写字母之间给出空格

时间:2013-11-30 08:30:08

标签: regex

我需要知道如何在两个大写字母之间连续留出空间。

我有很多客户名单。名字中间名和姓氏。 GaryACloud应分为Gary A Cloud。我用(.)([A-Z])替换为\1 \2.我不知道这意味着什么。
所以如果有人能解释我会非常感激。上面给了我一个部分的输出。我有加里ACloud,但如何在每个大写字母之前提供空间?如果你能解决问题,那将非常有用

2 个答案:

答案 0 :(得分:0)

你可以匹配:

"([A-Z])(?=[A-Z])"

并替换为:

"\1 "

答案 1 :(得分:0)

var input = "CategoryName";
var result = Regex.Replace(input, "([a-z])([A-Z])", @"$1 $2"); //Category Name

更新(这会将大写字母序列视为一个单词)

var input = "SimpleHTTPRequest";
var result = Regex.Replace(input, "([a-z]|[A-Z]{2,})([A-Z])", @"$1 $2");

//简单HTTP请求