任何人都知道该怎么做如何隐蔽FirstName到First Name.
分裂必须采取基础上发生的大写字母,但应排除的第一个字母.
我知道如何使用split进行操作.除了拆分功能之外,还有其他任何方法可以做到这一点.
不是split,只是replaceAll:
str.replaceAll("(?!^)([A-Z])", " $1")
Run Code Online (Sandbox Code Playgroud)
此解决方案假定您不希望在大写英文字母之前添加空格(如果它是字符串中的第一个字符).所以," FirstName"将成为" First Name"(注意2个空格).
(?!^)是负面预测(?!pattern),只是检查这不是字符串的开头^.我捕获(pattern)大写的英文字母,并在替换中使用捕获的文本$1($1意味着捕获组1中捕获的任何内容都放在替换字符串中 - 在这种情况下,只有1个捕获组).
另一种在大写英文字母之前添加空格的解决方案,只有前面是小写英文字母:
str.replaceAll("(?<=[a-z])([A-Z])", " $1")
Run Code Online (Sandbox Code Playgroud)
(?<=[a-z])是一个积极的后视(?<=pattern),检查[A-Z]大写字母是否以小写英文字母开头[a-z].其余部分已在上面解释过.
根据要求,模式可能会有很大差异.你只举一个例子而不是具体的要求,所以我会猜测并为你挑选一个模式.
| 归档时间: |
|
| 查看次数: |
3079 次 |
| 最近记录: |