读取字符串中的各类数据

loulanhaojie 2010-03-23 05:48:24
举个例子来说我的疑惑吧
我从键盘输入的是“10. SEP 10”
这是个年月日的标准输入
但是我希望分别得到 10 SEP 10 这三个数据 用来进行计算
请问我该如何处理???
...全文
71 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
SS_YI123 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dazzlingwinter 的回复:]
Java code

String sampleString = "10. SEP 10";
String[] strArray = sampleString.split("[^a-zA-z0-9]{1,}");
for(int i=0; i<strArray.length; i++) {
System.out.println(strArray[i……
[/Quote]

哈哈,竟然想到了正则表达式,好~~
dapenge 2010-03-23
  • 打赏
  • 举报
回复
楼上可以 呵呵
Dazzlingwinter 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 mtawaken 的回复:]
引用 5 楼 dazzlingwinter 的回复:

Java code

String sampleString = "10. SEP 10";
String[] strArray = sampleString.split("[^a-zA-z0-9]{1,}");
for(int i=0; i<strArray.length; i++) {
System.out.println(……
[/Quote]
API里有的呀,可以是字符,也可是个正则表达式~~~
mtawaken 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dazzlingwinter 的回复:]

Java code

String sampleString = "10. SEP 10";
String[] strArray = sampleString.split("[^a-zA-z0-9]{1,}");
for(int i=0; i<strArray.length; i++) {
System.out.println(strArray[i]);……
[/Quote]
请问split中那个参数是怎么用的?
Dazzlingwinter 2010-03-23
  • 打赏
  • 举报
回复

String sampleString = "10. SEP 10";
String[] strArray = sampleString.split("[^a-zA-z0-9]{1,}");
for(int i=0; i<strArray.length; i++) {
System.out.println(strArray[i]);
}
wolf521hf 2010-03-23
  • 打赏
  • 举报
回复
用String自带的split()方法,用“. ”和“ ”来做两次分割就可以得到你要的结果了
你可以用代码试试的
SS_YI123 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 loulanhaojie 的回复:]
刚才试了一下 我是这样处理的
Scanner in = new Scanner(System.in);
String a = in.nextLine();
int m = 0;
int n = 0;
for(int i=0;i<a.length();i++){
if(a.charAt(i) == '.')
m = i;
if(a.charAt(i) == ' ')
n = i;
……
[/Quote]

你的.号后面是不是还有个空格啊?那应该是String c = a.substring(m+2,n);
loulanhaojie 2010-03-23
  • 打赏
  • 举报
回复
刚才试了一下 我是这样处理的
Scanner in = new Scanner(System.in);
String a = in.nextLine();
int m = 0;
int n = 0;
for(int i=0;i<a.length();i++){
if(a.charAt(i) == '.')
m = i;
if(a.charAt(i) == ' ')
n = i;
}
String b = a.substring(0,m);
String c = a.substring(m+1,n);
String d = a.substring(n+1,a.length());
int e = Integer.parseInt(b);
int f = Integer.parseInt(d);
不知道这样是否可行
请各位多多指正
rypgood 2010-03-23
  • 打赏
  • 举报
回复
自己去分割啊,而且 你输入个10. 这个.你输入过去做什么啊 自找麻烦啊

62,628

社区成员

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

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