上面的图片是一个字符串,“-”代表空格,我想把图中的字符串切了,每个红框代表一个字符串,共切成5个。要怎么实现?
可否有正则表达式的话最好。
解决方案 »
- 帮忙看一下Timer、TimerTask
- jface 界面关闭后程序没有退出
- 实在觉得奇怪的问题,不知道什么原因了,急问啊
- JAVA程序要判断输入的3个参数(3条边长)是否能构成一个等腰三角形
- PipedInputStream的用途
- ---------------socket读取数据的问题--------------
- 把一个字符串以回车换行、TAB键split,要怎么写呢?请知道的靓哥帅妹指教 :)
- 求jar的用法(将程序打包和清单文件 up者有分)
- 送分
- 英雄在哪儿?请问如何让WEBLOGIC6.1自带的例子程序跑起来???
- 求指教:eclipse中debug
- 我们爱分享----Excel POI3.6
怎么样才算一个字符串?弄清楚这个条件先。
你的示例中给出的 相隔两个空格可以算同一个字符串(例如WHITE--FRAGRANT)
也可以算不同的字符串(例如10.78870--10.75000)
这个就很明显不能简单的通过正则来匹配了!
java String srt.spint(" ");
import java.util.*;
public class SplitString1{
public static void main(String[] args){
String s = "GOLDEN WHEEL 100% THAT WHITE FRAGRANT RICE 430 BAGS"
+" 10.78870 16.75000";
List<String> result = splitString1(s);
for(String str:result){
System.out.println(str);
}
}
//根据数字出现的位置判断
//
public static List<String> splitString1(String s){
List<String> list = new ArrayList<String>();
int begin = 0;
for(int i=0;i<s.length();i++){
int ic = (int)s.charAt(i);;
//数字,且不是第一个,并前面一个是空格,这就是要截取的子串的末尾。
//
if((ic>=48 && ic<=57) && (i!=0) && (s.charAt(i-1)==' ')){
list.add(s.substring( begin , i-1).trim());
begin = i;
}
}
list.add(s.substring(begin , s.length()-1 ).trim());//最后那一个子串
return list;
}
}
/* result
GOLDEN WHEEL
100% THAT WHITE FRAGRANT RICE
430 BAGS
10.78870
16.7500
*/
list.add(s.substring(begin , s.length()-1 ).trim());//最后那一个子串
换一下:
list.add(s.substring(begin , s.length()).trim());//最后那一个子串
public static void main(String args[]){
String arr = "DEL SEF DEQ QQQ GGG FFF";
String regEx="[' ']+"; //一个或多个空格
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(arr);
String arr2 = m.replaceAll(" ");
String array[] = arr2.split(" ");
System.out.println(arr2);//替換為一個空格
System.out.println(array.length);
}
希望能够帮到你