1. 截取第一個大寫字母前的字符串,在不使用正則表達式的情況下可以這樣做:
1. 實現代碼:
package test;
public class TestStringUpperCase {
public static void main(String[] args) {
System.out.println(getString("awduiROIHioaw"));
}
public static String getString(String str){
int index = -1;
char[] chars = str.toCharArray();
for(int i=0; i<chars.length; i++){
if((chars[i] >= 'A') && (chars[i] <= 'Z')){
index = i;
break;
}
}
return str.substring(0, index);
}
}
2. 運行結果:
2. 利用正則表達式可以這樣實現:
1. 實現代碼:
package test;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestStringUpperCase {
public static void main(String[] args) {
System.out.println(getStringByRegExp("awduiROIHioaw"));
}
public static String getStringByRegExp(String string){
String result = "";
String regExp = "(.*?)[A-Z]+";
Pattern pattern = Pattern.compile(regExp);
Matcher matcher = pattern.matcher(string);
while(matcher.find()){
result = matcher.group(1);
}
return result;
}
}
2. 運行結果:
由於比較簡單,就沒寫注釋了,大家參考