.net – 正则表达式,用大写字母拆分字符串,但忽略TLA

我正在使用正则表达式
System.Text.RegularExpressions.Regex.Replace(stringToSplit,"([A-Z])"," $1").Trim()

用大写字母拆分字符串,例如:

‘MyNameIsSimon’成为“我的名字是西蒙”

在使用枚举时,我觉得这非常有用。我想做的是稍微改变,以便如果下一个字母是小写字母,字符串才会被分割,例如:

“USAToday”将成为“今日美国”

这可以做吗?

编辑:感谢所有人的回应。我可能没有完全想到这一点,在某些情况下,“A”和“我”需要被忽略,但这是不可能的(至少不是有意义的)。在我的情况下,下面的答案是我需要的。谢谢!

((?<=[a-z])[A-Z]|[A-Z](?=[a-z]))

或其Unicode感知表哥

((?<=\p{Ll})\p{Lu}|\p{Lu}(?=\p{Ll}))

全球替换时

" $1"

把手

TodayILiveInTheUSAWithSimon
USAToday
IAmSOOOBored

屈服

 Today I Live In The USA With Simon
USA Today
I Am SOOO Bored

在第二步中,您必须修剪字符串。

相关文章

jquery.validate使用攻略(表单校验) 目录 jquery.validate...
/\s+/g和/\s/g的区别 正则表达式/\s+/g...
自整理几个jquery.Validate验证正则: 1. 只能输入数字和字母...
this.optional(element)的用法 this.optional(element)是jqu...
jQuery.validate 表单动态验证 实际上jQuery.validate提供了...
自定义验证之这能输入数字(包括小数 负数 ) &lt;script ...