截取字符串

rocky0625 2011-05-31 02:49:23
这是一个字符串,可能会还有更加多这样的东西。
SMID:81 MOBILE:132456 RPT TIME:2011-05-31 10:57:43
SMID:81 MOBILE:123456 RPT TIME:2011-05-31 10:57:48
SMID:81 MOBILE:654321 RPT TIME:2011-05-31 10:57:48
....
我现在要截取成
SMID:81 MOBILE:132456 RPT TIME:2011-05-31 10:57:43
将这个保存在一个String[]数组里面,应该怎么弄?
...全文
198 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingang_liu66 2011-05-31
  • 打赏
  • 举报
回复
Scanner 有一个Usedelimiter 可以判断
找个例子用usedelimiter的
int count = 0;
double sum = 0.0;

FileWriter fout = new FileWriter("test.txt");

fout.write("2, 3.4, 5,6, 7.4, 9.1, 10.5, done");
fout.close();

FileReader fin = new FileReader("Test.txt");

Scanner src = new Scanner(fin);

src.useDelimiter(", *");

while(src.hasNext()) {
if(src.hasNextDouble()) {
sum += src.nextDouble();
count++;
}
else {
String str = src.next();
if(str.equals("done")) break;
else {
System.out.println("File format error.");
return;
}
}
}

不知道可以不可以有帮助
rocky0625 2011-05-31
  • 打赏
  • 举报
回复
ok了。搞定。用split("\\n")就搞定了
anly_hz 2011-05-31
  • 打赏
  • 举报
回复
String[]str1 = str.split(" ");
rocky0625 2011-05-31
  • 打赏
  • 举报
回复
不会写。麻烦帮帮忙。
Bannings 2011-05-31
  • 打赏
  • 举报
回复

"SMID:81 MOBILE:132456 RPT TIME:2011-05-31 10:57:43".split("\\s");
懒得搭理你 2011-05-31
  • 打赏
  • 举报
回复
这个不用截取啊,判断有没有换行,如果换行了就将当前行的字符串保存在一个StringBuffer里。。。
rocky0625 2011-05-31
  • 打赏
  • 举报
回复
对的。可以实现吗?SMID:81 MOBILE:132456 RPT TIME:2011-05-31 10:57:43,反正差不多就行。因为这些内容都不一样。
Bannings 2011-05-31
  • 打赏
  • 举报
回复
截取成这样?
SMID:81
MOBILE:132456
RPT
TIME:2011-05-31
10:57:43
rocky0625 2011-05-31
  • 打赏
  • 举报
回复
upupup

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧