回 帖 发 新 帖 刷新版面

主题:字符串截取

CREATE TABLE `yiyao_lm` (
  `lmid` int(11) NOT NULL AUTO_INCREMENT,
  `name` char(20) DEFAULT NULL,
  `atime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`lmid`)
) ENGINE=MyISAM AUTO_INCREMENT=176 DEFAULT CHARSET=utf8 | 
上面这个字符串我想把单引号里面的lmid 和name等字段截取出来,请问该怎么做啊?注意现在是当作不知道单引号里面的内容是什么的情况下来截取的,而不是已经知道有个lmid在那里,譬如下次有可能单引号里面的内容变成了aid,所以应该根据特定的字符来截取吧?请高手指点下,谢谢了

回复列表 (共4个回复)

沙发

试试使用String中的split方法,可以根据特定的分隔符进行分割。

板凳

支持楼上
或者你自己写算法,这个算法比较简单,就是把"用1、2、3。。。编号,并记录其位置,再把编号为单数的和其后编号为双数的之间的字符串用substring截取出来

3 楼

我不懂啊,可不可以给个例子我看看,或者在我那个例子的基础上帮我写出来好吗?

4 楼

class ss
{ double []a;
  
  ss()
  { a=new double[5];
  }
  
  public void tiqu(String s)
  { int i=0;
    int n=0;
    String m;
    for(i=0;s.length()>0;i++)
    { 
        while(s.charAt(n)!=' ')
      { n++; }
      m=s.substring(0,n);
      System.out.println(m);
      a[i]=Double.parseDouble(m);
      s=s.substring(n+1,s.length());
      System.out.println(s);
      n=0;
    }
    System.out.println("i="+i);
  }  
  
  public void dis()
  {for(int i=0;i<a.length;i++)
    {System.out.print(a[i]+" ");
    }
    System.out.println();
  }
  
  public static void main(String []args)
  { String s="2.1 2 3 4.111 34 ";
    ss kk=new ss();
    kk.tiqu(s);
    kk.dis();
    
  }
}

这个程序就是把数字从字符串里一个一个取出来

我来回复

您尚未登录,请登录后再回复。点此登录或注册