对一串字符进行操作,如:“wuiyuh15454yeu”先把字符串中的字母挑出来,再把首字母移动到最后,并且在其后再加上字符“ly”
这个怎样写啊?

解决方案 »

  1.   

    String str="wuiyuh15454yeu";
    String str_x;
    LinkedList list=new LinkedList();
    for(int i=0;i<str.length();i++){
    str_x=str.subString(i,i+1);
    if(str_x.match("[A-Za-z]")){
    list.add(str_x);
    }
    }
    list.remove(0)//list.removeFrist();
    list.add("ly");
    StringBuilder sb=new StringBuilder();
    for(String s:list){
    sb.append(s);
    }
    String final_str=sb.toString();
      

  2.   


    public static void main(String[] args)
    {
    String s="wuiyuh15454yeu";

    String str="";

    //存放字母的集合
    ArrayList<String> s1=new ArrayList<String>();
    //存放非字母的集合
    ArrayList<String> s2=new ArrayList<String>();

    int num=1;
    for(int i=0;i<s.length();i++)
    {
    if(s.charAt(i)>='a'&&s.charAt(i)<='z')
    {
    //把字母放进集合中
    s1.add(s.charAt(i)+"");
    }
    else
    {
    //把非字母放进相应的集合
    s2.add(s.charAt(i)+"");
    }
    }
    //将s进行重新组合
    for(int i=0;i<s2.size();i++)
    {
    s=str.concat(s2.get(i));
    str=s;
    }
    //将第一个字母加到字符串最后,并加上“ly”
    s=s.concat(s1.get(0)).concat("ly");
    System.out.println(s);

    }
      

  3.   

    不好意思,其中有一句int num=1是不需要的,忘了删了