截取字符串中特定字符的问题 高手帮下忙: 如有一个字符串add.dff,dad.ddd有什么办法只取他"."之前","之后的字段?显示出来就是add,dad? 就是到.就不显示后面的了,但要是遇到,的话又继续循环取.之后就不显示 解决问题立即给分! 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个符合要求不?public class Test { public static void main(String[] args) { String target="add.dff,dad.ddd"; String[] split = target.split(","); StringBuffer bs = new StringBuffer(); for(int i = 0; i < split.length;i++){ split[i] = split[i].replaceAll("\\..+", ""); bs.append(split[i]); if(i != split.length-1){ bs.append(","); } } System.out.println(bs); }} public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String s="add.fff,dad.sss"; String[] temp=s.split(","); String[] ss; StringBuffer sb=new StringBuffer(); for(int i=0;i<temp.length;i++) { ss=temp[i].split("\\."); sb.append(ss[0]); if(i<temp.length-1) { sb.append(","); } } System.out.println(sb); }} String str = "add.dff,dad.ddd"; System.out.println(str.replaceAll("[.].*?(,|$)", "$1")); 是不是这样的 public static void main(String[] args) { String a="asd.fs,a.dsdfsfs.fsdfsdf,sd,f.f.asdfasdfsdf.sdf,asd,f,asdf.s.df,sf"; String[] split =StringUtils.split(a,"."); String content=""; for(int i = 0; i < split.length;i++){ content =content+ split[i].replaceAll(".{0,},", ","); } System.out.println(content); }打印结果为asd,adsdfsfs,ffasdfasdfsdf,asdfs,sf 不好意思写错了应该是这样的 public static void main(String[] args) { String a="asd.fs,a.dsdfsfs.fsdfsdf,sd,f.f.asdfasdfsdf.sdf,asd,f,asdf.s.df,sf"; String[] split =StringUtils.split(a,"."); String content=""; for(int i = 0; i < split.length;i++){ System.out.println(split[i].lastIndexOf(",")); if(i==0) content=content+split[i]; else if(split[i].lastIndexOf(",")>=0) content =content+ split[i].replaceFirst(".+?,", ","); else content =content+ split[i].replaceAll(".+", ""); } System.out.println(content); }打印结果为:asd,a,sd,f,asd,f,asdf,sf 不好意思上个写对了 但太麻烦这样写就OK了String a="asd.fs,a.dsdfsfs.fsdfsdf,sd,f.f.asdfasdfsdf.sdf,asd,f,asdf.s.df,sf.sdfs";String content =a.replaceAll("\\..+?(?=,|$)","");System.out.println(content);打印结果为:asd,a,sd,f,asd,f,asdf,sf victoryzll ↘乖_巧 等 级:-------------------我怎么拿你的测试数据测试是对的呢?而且跟你6楼的结果也是一样的. 初学者关于内部类的问题?? tableViewer多个问题,求解决方法 变态智力题 请帮帮我 在java中如何将字符串转化成整形?回复对了就结题 Eclipse初级问题(Help,Help!) 类 StringTokenizer 具体是做什么用的? 为啥不能这样写 如何返回ResultSet的结果数? 【新手求助】关于String判断为空的问题 % 运算 一个简单问题,浏览框的问题
public class Test { public static void main(String[] args) {
String target="add.dff,dad.ddd";
String[] split = target.split(",");
StringBuffer bs = new StringBuffer();
for(int i = 0; i < split.length;i++){
split[i] = split[i].replaceAll("\\..+", "");
bs.append(split[i]);
if(i != split.length-1){
bs.append(",");
}
}
System.out.println(bs);
}
}
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="add.fff,dad.sss";
String[] temp=s.split(",");
String[] ss;
StringBuffer sb=new StringBuffer();
for(int i=0;i<temp.length;i++)
{
ss=temp[i].split("\\.");
sb.append(ss[0]);
if(i<temp.length-1)
{
sb.append(",");
}
}
System.out.println(sb);
}}
System.out.println(str.replaceAll("[.].*?(,|$)", "$1"));
public static void main(String[] args) {
String a="asd.fs,a.dsdfsfs.fsdfsdf,sd,f.f.asdfasdfsdf.sdf,asd,f,asdf.s.df,sf";
String[] split =StringUtils.split(a,".");
String content="";
for(int i = 0; i < split.length;i++){
content =content+ split[i].replaceAll(".{0,},", ",");
}
System.out.println(content);
}
打印结果为asd,adsdfsfs,ffasdfasdfsdf,asdfs,sf
应该是这样的 public static void main(String[] args) {
String a="asd.fs,a.dsdfsfs.fsdfsdf,sd,f.f.asdfasdfsdf.sdf,asd,f,asdf.s.df,sf";
String[] split =StringUtils.split(a,".");
String content="";
for(int i = 0; i < split.length;i++){
System.out.println(split[i].lastIndexOf(","));
if(i==0)
content=content+split[i];
else if(split[i].lastIndexOf(",")>=0)
content =content+ split[i].replaceFirst(".+?,", ",");
else
content =content+ split[i].replaceAll(".+", "");
}
System.out.println(content);
}打印结果为:asd,a,sd,f,asd,f,asdf,sf
这样写就OK了
String a="asd.fs,a.dsdfsfs.fsdfsdf,sd,f.f.asdfasdfsdf.sdf,asd,f,asdf.s.df,sf.sdfs";
String content =a.replaceAll("\\..+?(?=,|$)","");
System.out.println(content);打印结果为:asd,a,sd,f,asd,f,asdf,sf
↘乖_巧
等 级:
-------------------
我怎么拿你的测试数据测试是对的呢?而且跟你6楼的结果也是一样的.