java里如何从一个字符串里过滤掉一个子串?
就是比如我有个字符串,Stringstring="Ihaveaproblem(qemu)aboutthis"一开始我不知道这里面是否会有这个(qemu),我想完成的是,作...
就是比如我有个字符串,
String string = "I have a problem (qemu) about this"
一开始我不知道这里面是否会有这个(qemu),我想完成的是,作个检测,如果有的话,就把它去掉。否则的话就维持原样。
这个string是来自于一个变量
通过参数传递进来的。我想要做的是在传递进来的时候作个初始化的过滤把这该死的(qemu)滤掉。拜托各位兄弟了 展开
String string = "I have a problem (qemu) about this"
一开始我不知道这里面是否会有这个(qemu),我想完成的是,作个检测,如果有的话,就把它去掉。否则的话就维持原样。
这个string是来自于一个变量
通过参数传递进来的。我想要做的是在传递进来的时候作个初始化的过滤把这该死的(qemu)滤掉。拜托各位兄弟了 展开
展开全部
用正则表达式,给你一个实例代码,可以直接运行的。
import java.util.regex.*;
public class Test1 {
public static void main(String[] args) {
//假设你想过滤 "(qemu)"
Pattern p = Pattern.compile("\\(qemu\\)");
//假设你接受到的字符串为"I have a problem (qemu) about this"
String str = "I have a problem (qemu) about this";
Matcher m =p.matcher(str);
//将"(qemu)"用""代替,即过滤掉。
String strnew= m.replaceAll("");
System.out.println(strnew);
}
}
/*如果你想过滤的是"qemu" ,就使用
* Pattern p = Pattern.compile("qemu"); */
import java.util.regex.*;
public class Test1 {
public static void main(String[] args) {
//假设你想过滤 "(qemu)"
Pattern p = Pattern.compile("\\(qemu\\)");
//假设你接受到的字符串为"I have a problem (qemu) about this"
String str = "I have a problem (qemu) about this";
Matcher m =p.matcher(str);
//将"(qemu)"用""代替,即过滤掉。
String strnew= m.replaceAll("");
System.out.println(strnew);
}
}
/*如果你想过滤的是"qemu" ,就使用
* Pattern p = Pattern.compile("qemu"); */
追问
那我是不是应该用indexOf先做一下判断看下是否有(qemu)这个子串呢?
另外,我想请教一下如果用正则表达式的话应该怎么做
追答
这个就是正则表达式的用法,这个不需要indexOf,因为如果没有"(qemu)",就什么都不会替换。
String类的一些用法,包括split, substring,repalce都是从正则表达式里继承改写的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(string.indexof>0)
{
string = string.split("(qemu)")[0]+string.split("(qemu)")[1];
}
已经解决了,哈哈!看懂了代码再写噢,首先检查字符串索引,然后分割
{
string = string.split("(qemu)")[0]+string.split("(qemu)")[1];
}
已经解决了,哈哈!看懂了代码再写噢,首先检查字符串索引,然后分割
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static void main(String[] args) {
String string = "I have a problem (qemu) about this";
if(string.indexOf("(qemu)")>0){
System.out.println(string.replaceAll("\\(qemu\\)", ""));
}
}
你自己封装个方法吧。
String string = "I have a problem (qemu) about this";
if(string.indexOf("(qemu)")>0){
System.out.println(string.replaceAll("\\(qemu\\)", ""));
}
}
你自己封装个方法吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用split正则表达式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询