⑴ 在java中如何把字元串的不想的字元給去掉
String str="009012005001";//你的字元串
String [] strs=str.split("0");//將不想要的字元過濾掉,生成字元串數組形式的
String newstr="";
for(int i=0;i<strs.length;i++)
{
if(!strs[i].equals("")){//如果截取的字元串不為空,則賦予新的字元串,加上.使之成為IP格式
newstr+=strs[i]+".";
}
}
newstr=newstr.substring(0, newstr.length()-1);//將最後一個點去掉
System.out.println(newstr);//輸出
有不懂的問我 QQ:307525445
⑵ java中如何在一個字元串中去掉另一個字元串
直接使用空字元串替換,如下:
String b = "abcabcabc";
b=b.replace("b","");
Java String.replace()方法用法
返回一個新的字元串,用newChar替換此字元串中出現的所有oldChar
(2)java過濾字元串擴展閱讀:
java中判斷一個字元串中的某個字元或字元串包含於另一個字元串:
假設你第一個字元串是A,第二個是B。判斷A中是否有一個字元或者一段字元串包含於B中:
boolean ifContrain = false;
for(int i = 0 ; i < A.length - 1 ; i ++ )
{
for(int j = i + 1 ; j < A.length ; j++ )
{
if(B.contains(A.subString(i , j )))
{
ifContrain = true;
}
最後看ifContrain是true,則包含,是false,就是不包含。
如果想要看包含的是哪段,就在ifContrain = true;一句後面再加一句 輸出 A.subString(i , j ) 。
⑶ 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解決一個字元串數組過濾的問題,要求效率盡量快.
中文分詞應該屬於另外一個大范疇,我就沒考慮了。
僅僅是盡快濾出之前沒有的詞,
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[]={"北京","中國朝陽","北京朝陽","天津包子","中國北京",
"北京烤鴨","中國中國","北京中國飯店","北京北京北京",
"北京朝陽飯店","北京朝陽烤鴨飯店","中國北京朝陽飯店"
};
TreeSet<String> set=new TreeSet<String>(new Comparator<String>(){
@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 字元串過濾
packagetest;
importjava.util.HashMap;
/**
*maxLength-需要過濾最長字元串的長度
*filterStrs<string,string>-需要過濾字元串的集合,key為需要過濾字元串,value為過濾成的字元串如"*"
*@authorAdministrator
*
*/
publicclassTest{
privateintmaxLength;
privateHashMap<String,String>filterStrs=newHashMap<String,String>();
/**
*初始化需要過濾掉*的數量
*/
privateStringinitStr(intn){
StringBuffersb=newStringBuffer();
for(inti=0;i<n;i++){
sb.append('*');
}
returnsb.toString();
}
/**
*str-被過濾得字元串
*s-需要過濾得字元串
*獲得剩下未過濾的字元串
*/
privateStringgetNextStr(Stringstr,intstart,intslength){
if(start==0){
str=str.substring(slength);
}elseif(start+slength<str.length()){
str=str.substring(start+slength);
}
returnstr;
}
/**
*str-被過濾得字元串
*s-需要過濾得字元串
*獲得過濾後的字元串
*/
(StringBuffersb,Stringstr,intstart,Strings){
if(start!=0){
sb.append(str.substring(0,start));
}
sb.append(filterStrs.get(s));
returnsb;
}
/**
*str-被過濾的字元串
*過濾,並組合過濾後的字元串
*/
publicStringfilter(Stringstr){
StringBufferresultStr=newStringBuffer();
for(intstart=0;start<str.length();start++){
for(intend=start+1;end<=str.length()&&end<=start+maxLength;end++){
Strings=str.substring(start,end);
intslength=s.length();
if(filterStrs.containsKey(s)){
resultStr=getFilterStr(resultStr,str,start,s);
str=getNextStr(str,start,slength);
start=0;
end=start;
}
}
}
resultStr.append(str);
returnresultStr.toString();
}
publicvoidput(Stringkey){
intkeyLength=key.length();
filterStrs.put(key,initStr(keyLength));
if(keyLength>this.maxLength)
maxLength=keyLength;
}
publicstaticvoidmain(String[]agrs){
Testt=newTest();
t.put("TMD");
t.put("TNND");
t.put("NND");
System.out.println(t.filter("TMD,TNND..TMDTMDTMDTMD.tTNNDTMDTNNDTNNDTNND"));
}
}
⑹ java里如何從一個字元串里過濾掉一個子串
通過replaceAll方法進行替換,也就是說將「子串」替換為空,舉例:
String str = "aaaaaabaaaabaaa".replaceAll("b", "");//第一個參數是需要被替換的內容,第二個是被替換成的內容
System.out.print(str);//輸出替換後的結果
結果就是:aaaaaaaaaaaaa。
⑺ java 如何去掉一行字元串中不要的字元
可以用replace方法,比如:
String
result
=
"a
dog.";
result
=
result.replace('a',
'');
就是把result里的a替換掉,等於把a
去掉了,這樣比較快。
⑻ 在java中,很多用戶都希望在輸入信息時就過濾那些不想輸入的字元,可以利用()來實現
可以用正則表達式過濾。
// 過濾特殊字元 public staticString 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();
}