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);
}
}