寫一個find函式
引數為:String str, String begin, String end;
作用:查找str字串中所有以begin開頭和以end結尾的字串
輸出為:String[]
例如:[110011]0A0B0C[0001] 的查詢結果應該有2個字串:110011和0001
uj5u.com熱心網友回復:
public static void found(String str, String begin, String end){int a = 0;
int b = 0;
int c = 0;
List<String> list = new ArrayList<>();
while (StringUtils.isNotBlank(str)){
a = str.indexOf(begin)+1;
b = str.indexOf(end);
if (b<a-1){
str = str.substring(a-1);
a = str.indexOf(begin)+1;
b = str.indexOf(end);
}
String substring = str.substring(a,b);
list.add(substring);
str = str.substring(b+1);
}
System.out.println(list);
}
uj5u.com熱心網友回復:
String str[] = {"sadd","fasdf","dddass"};for(int i=0;i<str.length;i++) {
if(str[i].startsWith("dd")&&str[i].endsWith("s")) {
System.out.println(str[i]);
}
}
基本實作思想,具體自己把握
uj5u.com熱心網友回復:
public static String[] getString(String str, String begin, String end) {Pattern p = Pattern.compile(begin+".*"+end);
Matcher m = p.matcher(str);
if(m.find()) {
return new String[]{begin,end};
}
return null;
}
結果只是為了得出begin,end?有點迷
uj5u.com熱心網友回復:
public static String find(String str, String begin, String end){if( str.toLowerCase().startsWith(begin) && str.toLowerCase().endsWith(end)){
return str;
}
return "";
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/8301.html
標籤:Java EE
