java中怎样将一个字符串中的值分开提取出来

用sql语句从数据库搜出数据,其中一个字段是一个年级中的班级,在数据库的格式如下:
如果年纪中有1班-5班一共5个班,数据库中该字段“班级”下的数据字符串形式存为1|2|3|4|5;
现在取出这个“1|2|3|4|5”字符串,我要在前台分别输出每个班级,需要将这个字符串中的1、2、3、4、5分别提取出来,然后add到一个list中,好让jsp可以遍历输出;
请问要怎样才能把1、2、3、4、5从“1|2|3|4|5”中提取出来?
用java写的

String str = "1|2|3|4|5";
String [] class = str.split("|");
List<String> cls = new ArrayList<String>();
for(int i=0;i<class.length;i++){
cls.add(class[i]);

}
cls就是那个LIst了追问

谢谢!
不过还有点疑问,按照你这样写的class数组里面是包含了“|”这个字符串的,也就是说最后的list里面既有12345,也有“|”、还有“”空字符串;我只需要数字就可以了,该怎么操作?

追答

不会吧,应该没有|这个额,如果有的话
for(int i=0;i<class.length;i++){
cls.add(class[i]);
}
这个循环改成
for(int i=0;i<class.length;i++){
if("|".equal(class[i])||" ".equal(class[i])){
continue;
}
cls.add(class[i]);
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-31
String[] s=“1|2|3|4|5”.split(“\\|”);
数组s的0,1,2,3,4就是 1,2,3,4,5 。
想放到List里边,就在for循环添加一下就行了。
第2个回答  2012-12-31
用Scaner就可以了 api自己去看 你可以自己组合 很简单的 在util包下

编写Java程序,将一字符串其中的大小写字母的字符分别输出
循环字符串用charAt方法来获取字符,将字符转为int,只要判断转换后的数值就可以判断大小写字母,大写字母的范围是65-90,小写字母的范围是97-122。public class Main { public static void main(String[] args) { String s = "aaBvdEFdsd";StringBuffer ss = convertString(s);System.out.println(...

java中字符串的截取和分隔
Java语言中,String类提供substring()方法进行字符串截取和split()方法进行字符串分割。substring()方法用于获取字符串的一部分。通过指定开始和结束索引,可以截取指定范围内的字符。如果只指定一个参数,则从该位置开始截取至字符串末尾。例如:字符串"羽毛球-篮球-乒乓球",执行str.substring(4)获取从第5...

java截取字符串中的数字,并且分组?
用正则表达式按数字和中文的交界处切分字符串,就可以实现你的要求,完整的Java程序如下 public class F{ public static void main(String[] args){ String str="鱼豆腐20海带3掌中宝8鸡翅2可乐2";String[] s=str.split("(?<=[0-9])(?=[\一-\龥])");for(int i=0;i...

java怎么实现把字符串中的数字和字符分开
package com.youngmaster;public class RegString { public static void main(String[] args) { String s = "sasfsadfsf12fasf45d8sfs";System.out.println("数字:" + s.replaceAll("[a-zA-Z]", ""));System.out.println("字符:" + s.replaceAll("[0-9]", ""));} } ...

如何在Java提取出字符串中的数字段(字符串中有好几段数字)?
public static void main(String args[]) throws Exception { Pattern p = Pattern.compile("\\\\d{2,}");\/\/这个2是指连续数字的最少个数 String u = "abc435345defsfsaf564565fsabad5467755fewfadfgea"; Matcher m = p.matcher(u); int i = 0; while (m.find()) { ...

java中怎么将字符串中的数字取出来
public class 取数字{public static void main(String[] args) {System.out.println("\\n\\t\\t===将字符串中的数字取出来===\\n");init();}\/\/初始化!private static void init(){\/\/分割!String[] s="今天是2017年09月01日".split("\\\\D+");\/\/打印分割的!for (int i=0;i...

用JAVA从字符串中提取数字,可以一次提取出小数,负数
\/\/是复数,分开提取 int posPlus=sample.lastIndexOf("+");int posMinus=sample.lastIndexOf("-");int split;if(posPlus>posMinus){ split=posPlus;}else{ split=posMinus;} String strA=sample.substring(0,split);String strB=sample.substring(split,sample.length()-1);a=Double.parse...

请问在java 中,如何将一个字符串中的某个值移除掉,字符串类似数组结构...
需要import java.util.Scanner;楼主可根据需要自己改为传参函数 public static void main(String args[]){ System.out.println("请输入数字组,数字请以,隔开");Scanner scanner =new Scanner(System.in);String str=null;str=scanner.nextLine();System.out.println("请输入要去除的数");String rm...

java中怎么截取字符串中的数字
java中截取字符串中的数字方法有很多,例如用正则表达式。试一试下面的演示程序吧。public class SplitTest{ public static void main(String[] args) { String input = "jdiwo3495jis90.5jsie4dss56djiw9"; String regex = "\\\\d+(\\\\.\\\\d+)?"; Pattern pattern = Pattern...

java中如何提取字符串中的数字?
]) throws Exception {System.out.println("请输入一段字符串,并以回车结束");BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));String str = buf.readLine();StringBuffer strbuf = new NumberSplit().getString(str);\/\/ 将返回的StringBuffer转换为字符数组char c[] ...

相似回答