连续空格分隔字符串问题 有如下的字符串:“aaa bbb ccc ddd eee”.字符串间用不定长度的空格分隔,现在要将字符串按照按空格分隔,得到这样一个字符串数组[aaa,bbb,ccc,ddd,eee]。哪位大侠能相告。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 split好像是支持正则表达式的, System.out.println(Arrays.toString("aaa bbb ccc ddd eee".split("\\s+"))); public static void main(String[] args) { Pattern pa = Pattern.compile("SN[1-9]{0,5}"); pa.matcher("SN12345 "); System.out.print(pa.matcher("SN12345").matches()); String str = "aaa bbb ccc ddd eee"; String[] strstr = str.split(" "); for (int i =0; i < strstr.length; i++) { System.out.println("strstr[" + i + "]: " + strstr[i]); } }结果:strstr[1]: bbbstrstr[2]: cccstrstr[3]: dddstrstr[4]: eee 上一个多写了,看下面一个public static void main(String[] args) {String str = "aaa bbb ccc ddd eee";String[] strstr = str.split(" ");for (int i =0; i < strstr.length; i++) {System.out.println("strstr[" + i + "]: " + strstr[i]);}}结果:strstr[1]: bbbstrstr[2]: cccstrstr[3]: dddstrstr[4]: eee 结果:strstr[0]: aaastrstr[1]: bbbstrstr[2]: cccstrstr[3]: dddstrstr[4]: eee 正则your_string.split("\\s+"); // \\s表示空格或其他tab一类的分隔符,+表示1个或多个 死循环,2个空格替换成1个空格(replace,replaceall方法),不存在连续两个空格indexof(" ") = -1时,break;然后再split 不能单独用空格拆的。你得先把多空格的替换掉,然后再拆,正则最方便public class DoubleNbsp{ public static void main(String[] args) { String str="abc dd egd pfge ljjj"; String str1=str.replaceAll("\\s{1,}"," "); String[] fa=str1.split(" "); for(int i=0;i<fa.length;i++) { System.out.print(fa[i]); if(i<fa.length-1) System.out.print(","); } }} import org.apache.commons.lang.*;String str = "aa bb cc dfe fdfadf";String[] string = StringUtils.spilt(str," ");这样得到的字符串数组就没有空格。 泛型问题 JScrollPane 滚动条无法滚动的问题 ArrayList的删除方法 送分啦!一个简单的问题! 刚才java培训班学完,去什么样的公司好混呢? 对中文串进行64位加密、解密! 如何判断JToolBar上有多少个元素(按牛) 高分求助:谁调过javamail的程序,我遇到了一些麻烦,请求帮助!!! Map<String,String> rm=new HashMap<String,String>(2)这个2是什么意思? java泛型类的定义与使用 我是菜鸟 问一下 awt.component.window.frame能设置背景图吗 请问如何用正则处理这样的字符串
System.out.println(Arrays.toString("aaa bbb ccc ddd eee".split("\\s+")));
Pattern pa = Pattern.compile("SN[1-9]{0,5}");
pa.matcher("SN12345 ");
System.out.print(pa.matcher("SN12345").matches()); String str = "aaa bbb ccc ddd eee";
String[] strstr = str.split(" ");
for (int i =0; i < strstr.length; i++) {
System.out.println("strstr[" + i + "]: " + strstr[i]);
}
}结果:
strstr[1]: bbb
strstr[2]: ccc
strstr[3]: ddd
strstr[4]: eee
String[] strstr = str.split(" ");
for (int i =0; i < strstr.length; i++) {
System.out.println("strstr[" + i + "]: " + strstr[i]);
}
}结果:
strstr[1]: bbb
strstr[2]: ccc
strstr[3]: ddd
strstr[4]: eee
strstr[0]: aaa
strstr[1]: bbb
strstr[2]: ccc
strstr[3]: ddd
strstr[4]: eee
your_string.split("\\s+"); // \\s表示空格或其他tab一类的分隔符,+表示1个或多个
{
public static void main(String[] args)
{
String str="abc dd egd pfge ljjj";
String str1=str.replaceAll("\\s{1,}"," ");
String[] fa=str1.split(" ");
for(int i=0;i<fa.length;i++)
{
System.out.print(fa[i]);
if(i<fa.length-1)
System.out.print(",");
}
}
}
import org.apache.commons.lang.*;String str = "aa bb cc dfe fdfadf";
String[] string = StringUtils.spilt(str," ");
这样得到的字符串数组就没有空格。