假设我有一个像“ MikeJackson”这样的字符串,我试图找出一种在两者之间加一个空格的方法,使它成为“ Mike Jackson”。然后将相同的方法应用于另一个字符串“ JohnBull”,将还给我“ John Bull”。这是我想出的代码:
public class Test{
public Test(){
}
public void sep(String s){
s = s + " ";
char[] charArray = s.toCharArray();
int l = s.length();
for (int i = 0; i < l; i++){
char p = ' ';
if(Character.isUpperCase(s.charAt(0))){
continue;
}
else if (Character.isUpperCase(s.charAt(i))){
int k = s.indexOf(s.charAt(i));
charArray[l] = charArray[--l];
charArray[k-1] = p;
}
//System.out.println(s.charAt(i));
}
}
public static void main (String args[]){
Test one = new Test();
one.sep("MikeJackson");
}
}
我的想法是在字符串中添加一个空格,以使“ MikeJackson”成为“ Mike Jackson”,然后将字符向右移动(检查是否找到大写字母),而忽略第一个大写字母。然后将字符“”代替字符“ J”,但将“ J”向右移动。那就是我试图用我的方法实现的目标,但是看起来我需要一些指导。如果有人可以帮助。谢谢。
尝试这个:
"MikeJackson".replaceAll("(?!^)([A-Z])", " $1");
对于每个高位字符,我之前都添加了一个空格。
此外,它还可以处理多个大写单词。我Word1 Word2 Word3
要Word1Word2Word3
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句