A. java實現在字元串中查找字元串
把上上面那仁兄的改改,不知合不合適:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Find {
public static void main(String[] args) {
String ss = "...qqqq:hello-a;hello-b;hello-c;hello-d,....";
Matcher matcher = Pattern.compile("(hello-.)").matcher(ss);
int index = 0;
while (matcher.find()) {
index++;
if (matcher.group(1).equals("hello-c")) {
break;
}
}
System.out.println(index);
}
}
B. java里如何從一個字元串里過濾掉一個子串
用正則表達式,給你一個實例代碼,可以直接運行的。
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"); */
C. 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"));
}
}
D. java中怎麼判斷一個字元串中包含某個字元或字元串
1:描述
java.lang.String.contains() 方法返回true,當且僅當此字元串包內含指定的char值序列容
2:聲明
public boolean contains(CharSequence s)
3:返回值
此方法返回true,如果此字元串包含,否則返回false。
4:實例
public static void main(String[] args)
{String str = "abc";
boolean status = str.contains("a");
if(status){System.out.println("包含");}
else{System.out.println("不包含");}}
(4)java字元串篩選擴展閱讀
字元串或串(String)是由數字、字母、下劃線組成的一串字元。它是編程語言中表示文本的數據類型。在程序設計中,字元串為符號或數值的一個連續序列。字元串操作就是以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。
對於字元串的操作方法,在這里通過介紹C語言、C++和java這三種常用的語言來說明。
參考資料
網路-字元串操作
E. JAVA中怎樣在一個字元串中查找給定的子字元串
可以用正則表達式:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class DemoAsm{
public static void main(String[] args){
String str="abcdef";//輸入字元串
String reg="cde";//需要查找的字元串
Pattern pattern =Pattern.compile(reg);
Matcher mather=pattern.matcher(str);
while(mather.find()){
System.out.println(mather.group());//如果有內,容則輸出
}
}
}
F. java 如何查找匹配的字元和字元串
你可以自己寫個方法的!
從返回的第一個位置開始substring,同時記住位置。
public int[] getOffset(String str,String s){
int[] arr=new int[str.length];
int j=1;
while(str.indexOf(s)!=-1){
int i=str.indexOf(s);
if(j==1){
arr[j-1]=i;
}else{
arr[j-1]=i+arr[j-2]+1;
}
String st=str.substring(i+1);
System.out.println(st);
str=st;
j++;
System.out.println("j="+j);
}
return arr;
}
public static void main(String[] args) {
String str="abcaabbddab";
StringText st=new StringText();
int[] i=st.getOffset(str, "ab");
for(int j:i){
System.out.println(j);
}
}