「java字符串筛选」JAVA字符串查找
今天给各位分享java字符串筛选的知识,其中也会对JAVA字符串查找进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java里如何从一个字符串里过滤掉一个子串?
- 2、java中用什么方法在字符串中筛选数据?
- 3、JAVA特殊字符过滤方法
- 4、java 字符串过滤
- 5、java如何快速过滤掉某个字符串包含的最长的一个词
- 6、java,给一个字符串,筛选出里面的字母,剔除其他的
java里如何从一个字符串里过滤掉一个子串?
通过replaceAll方法进行替换,也就是说将“子串”替换为空,举例:
String str = "aaaaaabaaaabaaa".replaceAll("b", "");//第一个参数是需要被替换的内容,第二个是被替换成的内容
System.out.print(str);//输出替换后的结果
结果就是:aaaaaaaaaaaaa。
java中用什么方法在字符串中筛选数据?
重复二楼:通过StringTokenizer出来的数据都是String
这样是没有办法保持你所说的特性的。
你把15.6 和 50 分解开来了,但这两个值都是String的,而Product类的
public Product(String name, String num, int sellNum, int price)
sellNum和price要求是 int,所以问题出在这里。
建议 price应定义为float,逻辑上价格不应该是int(当然如果只是为了练习,和种类型无所谓)
当你使用StringTokenizer分解了数据后,可以使用Interger.parseInt()或Float.parseFloat()方法将String转化成你想要的值。至于这两个方法怎么用,不用我说了吧,API doc^_^
JAVA特殊字符过滤方法
public static String StringFilter(String str) throws PatternSyntaxException {
// 只允许字母和数字
// String regEx = "[^a-zA-Z0-9]";
// 清除掉所有特殊字符
String regEx="[`~!@#$%^*()+=|{}':;',\\[\\]./?~!@#¥%……*()——+|{}【】‘;:”“’。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
java 字符串过滤
package test;
import java.util.HashMap;
/**
* maxLength-需要过滤最长字符串的长度
* filterStrsstring,string-需要过滤字符串的集合,key为需要过滤字符串,value为过滤成的字符串如"*"
* @author Administrator
*
*/
public class Test{
private int maxLength;
private HashMapString,String filterStrs=new HashMapString,String();
/**
* 初始化需要过滤掉*的数量
*/
private String initStr(int n){
StringBuffer sb=new StringBuffer();
for(int i=0;in;i++){
sb.append('*');
}
return sb.toString();
}
/**
* str-被过滤得字符串
* s-需要过滤得字符串
* 获得剩下未过滤的字符串
*/
private String getNextStr(String str,int start,int slength){
if(start==0){
str=str.substring(slength);
}else if(start+slengthstr.length()){
str=str.substring(start+slength);
}
return str;
}
/**
* str-被过滤得字符串
* s-需要过滤得字符串
* 获得过滤后的字符串
*/
private StringBuffer getFilterStr(StringBuffer sb,String str,int start,String s){
if(start!=0){
sb.append(str.substring(0,start));
}
sb.append(filterStrs.get(s));
return sb;
}
/**
* str-被过滤的字符串
* 过滤,并组合过滤后的字符串
*/
public String filter(String str) {
StringBuffer resultStr=new StringBuffer();
for(int start=0;startstr.length();start++){
for(int end=start+1;end=str.length()end=start+maxLength;end++){
String s=str.substring(start, end);
int slength=s.length();
if(filterStrs.containsKey(s)){
resultStr=getFilterStr(resultStr,str,start,s);
str=getNextStr(str,start,slength);
start=0;
end=start;
}
}
}
resultStr.append(str);
return resultStr.toString();
}
public void put(String key) {
int keyLength=key.length();
filterStrs.put(key, initStr(keyLength));
if(keyLengththis.maxLength)
maxLength=keyLength;
}
public static void main(String[] agrs){
Test t=new Test();
t.put("TMD");
t.put("TNND");
t.put("NND");
System.out.println(t.filter("TMD,TNND..TMDTMDTMDTMD.tTNND TMDTNNDTNNDTNND"));
}
}
java如何快速过滤掉某个字符串包含的最长的一个词
java快速过滤掉某个字符串包含的最长的一个词方法:把敏感词的第一个字符取出来,作为比较对象。遍历整个字符串,如果发现字符跟敏感词第一个字符相同,就从字符串取出跟关键词相同长度的子串比较,如果相同就替换。本算法比较适合敏感词都不长的场合。Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
java,给一个字符串,筛选出里面的字母,剔除其他的
你可以用replaceAll删除非英文字母的字母String b = a.replaceAll("[^a-zA-Z]", "");
关键在于你的正则表达式怎么写,具体你查查,我上面的表达式,不一定正确,没验证过
关于java字符串筛选和JAVA字符串查找的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。