用正则式来提取数据

weaponofpower 2007-11-07 01:30:55
数据为一行一行的文本,读取每行的文字做分析
PO 000050770783 300 301
PO 000050770784 300 301 302 303
PO 000050770785 300 301 304
PO 000050770786 300

其中PO代表操作,空格后面的000050770783 代表一个用户(数字组成的字串),它的空格后面就是产品代码(数字组成的字串),用空格分开,有一个或多个;

请教各位,怎么样运用正则表达式才能打印出来以下效果(以第一行为例)
OPT=PO
USER=000050770783
PRODUCT(0)=300
PRODUCT(1)=301

谢谢!
...全文
58 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
johnsoncr 2007-11-07
  • 打赏
  • 举报
回复
可以不用正则式:
public   class   Test  { 

public static void main(String[] arg) {
String a = "PO 000050770784 300 301 302 303 ";
String[] b = a.split(" +");
String OPT = b[0];
String USER = b[1];
System.out.println("OPT=" + OPT);
System.out.println("USER=" + USER);

String[] PRODUCT = new String[b.length - 2];
for(int i = 0; i < PRODUCT.length; i++) {
PRODUCT[i] = b[i+2];
System.out.println("PRODUCT(" + i + ")=" + PRODUCT[i]);
}
}
}
zoeg 2007-11-07
  • 打赏
  • 举报
回复
一定要正则式么?
如果不是,编程上可以直接调用一个splits方法,使用空格将他们切分开来就可以了

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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