我正在使用正则表达式
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
在第二步中,您必须修剪字符串。