java过滤字符串(java字符串过滤特殊字符)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
本篇文章给大家谈谈java过滤字符串,以及java字符串过滤特殊字符对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、java解决一个字符串数组过滤的问题,要求效率尽量快.
- 2、java 正则过滤字符串穿中的数字开头字符
- 3、JAVA中如何过滤字符串里面特殊字符
- 4、jsp\java 如何编写过滤器过滤特殊字符?
- 5、java里如何从一个字符串里过滤掉一个子串?
- 6、java 字符串过滤
java解决一个字符串数组过滤的问题,要求效率尽量快.
中文分词应该属于另外一个大范畴,我就没考虑了。
仅仅是尽快滤出之前没有的词,
import java.util.Comparator;
import java.util.TreeSet;
public class Test {
static public int removeOccurances(StringBuilder buf,String word){
int c=0,p,len=word.length();
for(;(p=buf.indexOf(word))!=-1; c++)
buf.delete(p, p+len);
return c;
}
static public void main(String argv[]){
String a[]={"北京","中国朝阳","北京朝阳","天津包子","中国北京",
"北京烤鸭","中国中国","北京中国饭店","北京北京北京",
"北京朝阳饭店","北京朝阳烤鸭饭店","中国北京朝阳饭店"
};
TreeSetString set=new TreeSetString(new ComparatorString(){
@Override
public int compare(String o1, String o2) {
int r=o1.length()-o2.length();
return r==0? o1.compareTo(o2):r;
}
});
StringBuilder buf=new StringBuilder();
for(String w:a){
buf.setLength(0); buf.append(w);
for(String dw:set) removeOccurances(buf, dw);
if(buf.length()0){
w=buf.toString();
for(String dw:set)
if(buf.length()dw.length()){
buf.setLength(0); buf.append(dw);
if(removeOccurances(buf, w)0){
set.remove(dw); set.add(buf.toString());
}
}
set.add(w);
}
}
System.out.print(set);
}
}
===========
[中国, 北京, 朝阳, 烤鸭, 饭店, 天津包子]
效率应该是O(2W*D), W为数组长度,D为有效词数量
把你的算法拿来看看。应该多说自己
java 正则过滤字符串穿中的数字开头字符
可以。Java正则表达式:32=\"1\"\\s+59=\"0000\"
完整的程序如下:
public class LL {
public static void main(String[] args) {
String s="rootusersuser id=\"2739751\" ccted=\"0000000000\" 32=\"1\" 59=\"0000\" name=\"张非\"/user/users/root";
System.out.println(s.replaceAll("32=\"1\"\\s+59=\"0000\"", ""));
}
}
运行结果:
rootusersuser id="2739751" ccted="0000000000" name="张非"/user/users/root

JAVA中如何过滤字符串里面特殊字符
zenkill的回答应该是对的吧。
难道你的错误类似下面这样?
错误原因已经注明。
class outoffunction
{
public int i;
i=100; //方法外面不应该对数据进行操作。
public static void main()
{
System.out.print(i);
}
}
jsp\java 如何编写过滤器过滤特殊字符?
package com.jingdu.common;\x0d\x0aimport java.io.IOException;\x0d\x0aimport java.io.PrintWriter;\x0d\x0aimport javax.servlet.Filter;\x0d\x0aimport javax.servlet.FilterChain;\x0d\x0aimport javax.servlet.FilterConfig;\x0d\x0aimport javax.servlet.ServletException;\x0d\x0aimport javax.servlet.ServletRequest;\x0d\x0aimport javax.servlet.ServletResponse;\x0d\x0aimport javax.servlet.http.HttpServletRequest;\x0d\x0aimport javax.servlet.http.HttpServletResponse;\x0d\x0a\x0d\x0apublic class IllegalCharacterFilter implements Filter {\x0d\x0a private String[] characterParams = null;\x0d\x0a private boolean OK=true;\x0d\x0a \x0d\x0a public void init(FilterConfig config) throws ServletException {\x0d\x0a \x0d\x0a// if(config.getInitParameter("characterParams").length()
回答于 2022-11-16
java里如何从一个字符串里过滤掉一个子串?
通过replaceAll方法进行替换,也就是说将“子串”替换为空,举例:
String str = "aaaaaabaaaabaaa".replaceAll("b", "");//第一个参数是需要被替换的内容,第二个是被替换成的内容
System.out.print(str);//输出替换后的结果
结果就是:aaaaaaaaaaaaa。
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过滤字符串的信息别忘了在本站进行查找喔。
