我的生产数据里有这样一些数据
张三*       李四(教)        王二五(检)    欧阳乌龟(教)
请教下怎么样只把前面的名字截取出来?谢谢

解决方案 »

  1.   


    public static void main(String args[])
        {
            String s = "张三*      李四(教)        王二五(检)    欧阳乌龟(教)";
            String s1[] = s.split(" ");
            for (String str : s1)
            {
                if (str.length() > 0)
                {
                    str = str.replace("*", "");
                    int index = str.indexOf("(");
                    if (index > 0)
                    {
                        str = str.substring(0, str.indexOf("("));
                    }
                    System.out.println(str);
                }
            }
            
        }
      

  2.   

    如果名字后面是跟着有规律的字符(如‘(’),那可以使用正则表达式来截取"李四(教)".substring(0, "李四(教)".indexOf("("));//返回"李四",这里只是使用String类提供的api方法简单的解决
      

  3.   

    to xiezhifu
    就是不规律呀,有的名字后面是*,有的是(教)或者(检)
    所以想请教个通用的方法,只取前面的名字
      

  4.   

    我的想法是可以在数据库里直接操作
    我用的是mysql数据库
    update datatable d
    inner join (select username from datatable) t
    on d.username = t.username
    set d.username = substring(t.username,1,locate(t.username,'('))
    然后,再同样的方法,将“*”去掉
    如果此类如“*”等特殊符号太多的话,那就写一个存储过程处理
      

  5.   

    借用1楼大哥的代码:O(∩_∩)O~public class Test {
    public static void main(String args[])
        {
            String s = "张三*      李四(教)        王二五(检)    欧阳乌龟(教)";
            String s1[] = s.split("\\s{1,}");
            for (String str : s1)
            {
                if(str.contains("(")){
                    str = str.substring(0, str.indexOf("("));
                }
                str = str.replace("*", "");
                System.out.println(str);
            }
        }
    }
      

  6.   


    String str = "张三2";
    str = str.replace("*", "");  //去掉*
    str = str.replace("2", "");  //去掉2
    //下面是截去"("后面的部分
    int index = str.indexOf("(");
    if (index > 0){
       str = str.substring(0, str.indexOf("("));
    }
      

  7.   

    请教下这个for (String str : s1) 是什么意思啊?
      

  8.   

    自动循环s1里面内容,每次循环取出一个就赋给变量str