寻找关注sceaio的正则表达式解决方案:
我有字符串,我必须在大写的基础上拆分,但连续的大写部分不应该拆分。
例如:如果输入是
DisclosureOfComparativeInformation
O / p应该是
Disclosure Of Comparative Information
但连续的大写不应该分裂。
GAAP
不应该导致G A A P
。
如何找到特定模式并插入空格?
感谢名单
答案 0 :(得分:8)
尝试 -
var subjectString = "DisclosureOfComparativeInformation";
var resultString = Regex.Replace(subjectString, "([a-z])([A-Z])", "$1 $2");
答案 1 :(得分:1)
试试这个正则表达式:
[a-z](?=[A-Z])
通过此次调用替换:
regex.Replace(toMatch, "$& ")
有关特殊替换符号“$&”的详细信息,请参阅http://msdn.microsoft.com/en-us/library/ewy2t5e0.aspx#EntireMatch
答案 2 :(得分:1)
((?<=[a-z])[A-Z]|[A-Z](?=[a-z]))
替换为
" $1"
在第二步中你必须修剪弦乐。
查看此链接也......
Regular expression, split string by capital letter but ignore TLA
答案 3 :(得分:0)
使用正则表达式解决方案来查找某些内容 not true的字符串往往变得无法识别。我建议你在循环中浏览你的字符串并相应地拆分它,而不使用正则表达式。
答案 4 :(得分:0)
在Perl中这应该有效:
str =~ s/([A-Z][a-z])/ \1/g;
两个字符集周围的括号会在以后保存“\ 1”(第一个)的匹配。
答案 5 :(得分:0)
[A-Z]{1}[a-z]+
将拆分如下
DisclosureOfComparativeInformation -> Disclosure Of Comparative Information
GAPS -> GAPS
SOmething -> SOmething
这可能是不受欢迎的
alllower -> alllower
答案 6 :(得分:0)
拆分和加入:
string.Join(" ", Regex.Split("DisclosureOfComparativeInformation", @"([A-Z][a-z]*)"))