java截取字符串

zyf_xl 2007-11-16 10:57:08
用户输入(参数随机乱输) 例如:lkajsdf lkajsdf 846654 d7777 uiqoe
我要得到含有d的那个单词,如果有多个单词以|分割
输出:lkajsdf|lkajsdf|d7777
...全文
139 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
plucury 2007-11-18
  • 打赏
  • 举报
回复
我也试试吧

import java.util.*;
import java.util.regex.*;
public class test {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
String pattern="\\S*[dD]\\S*";
while(true){
if(in.hasNext(pattern)){
in.next(pattern);
MatchResult match=in.match();
System.out.print(match.group()+"|");
}
else{
in.next();
}
}
}
}
zyf_xl 2007-11-17
  • 打赏
  • 举报
回复
有字符串`(用户输的参数,比如:lkjsdf!#jsdfl65ADASD $%^)
计算出有几个是有效字符,有几个数字,和几个空格,有几个字母(不区分大小写)

不是截取`是得到他们分别的个数
lilifb 2007-11-17
  • 打赏
  • 举报
回复
2楼的很强悍
lip009 2007-11-16
  • 打赏
  • 举报
回复
1.JavaScript脚本

var str="lkajsdf lkajsdf 846654 d7777 uiqoe";
var string="";
str.replace(/(\S*d\S*)/g,function($1,$2){
string=string+$2+"|";
});
alert(string);

2.JAVA代码

String str="lkajsdf lkajsdf 846654 d7777 uiqoe";
Pattern pattern=Pattern.compile("(\\S*d\\S*)");
Matcher matcher=pattern.matcher(str);
String string="";
while(matcher.find()){
string=string+matcher.group(1)+"|";
}
System.out.println(string);
lip009 2007-11-16
  • 打赏
  • 举报
回复
1.JAVA代码

String str="lkajsdf lkajsdf 846654 d7777 uiqoe";
Pattern pattern=Pattern.compile("(\\S*d\\S*)");
Matcher matcher=pattern.matcher(str);
String string="";
while(matcher.find()){
string=string+matcher.group(1)+"|";
}
System.out.println(string);
fastid 2007-11-16
  • 打赏
  • 举报
回复
真得好好学学了!

有啥学正则的好方法吗?
cljspn 2007-11-16
  • 打赏
  • 举报
回复
   String str = "lkajsdf lkajsdf 846654 d7777 uiqoe" ;
String[] strArray = str.split(" ");
StringBuffer strBuffer = new StringBuffer();
for (int i = 0; i < strArray.length; i++) {
if (strArray[i].indexOf("d")>=0) {
strBuffer.append(strArray[i]+"|");
}
}
System.out.println(strBuffer.toString());
cljspn 2007-11-16
  • 打赏
  • 举报
回复
         String str = "lkajsdf lkajsdf 846654 d7777 uiqoe" ;
String[] strArray = str.split(" ");
StringBuffer strBuffer = new StringBuffer();
for (int i = 0; i < strArray.length; i++) {
if (strArray[i].indexOf("d")>=0) {
strBuffer.append(strArray[i]+"|");
}
}
System.out.println(strBuffer.toString());
finalzhzhk 2007-11-16
  • 打赏
  • 举报
回复
mark it
:)
提个小小的建议:
通过StringBuffer整合要得到的字符串就更好了
ftgreat 2007-11-16
  • 打赏
  • 举报
回复
2楼写得相当美妙!

62,623

社区成员

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

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