我想從字符串中獲取第一個數字出現的第一個字符(非數字)。字符串可以是任何字符,也可以包含數字。我只需要關心前兩個索引。有點棘手的部分是讓第二個索引包含一個數字,然後只有第一個字符需要考慮。有沒有一個優雅的方式來從字符串中獲取兩個連續字符,直到出現第一個數字
Examples:
abcd -> ab
a -> a
a0cd -> a
0bcd -> null
-123 -> null
下面是我如何在java中編寫這個函數。有沒有其他優雅的方式來做到這一點?任何幫助深表感謝。
public class Main {
public static String getFirstTwoCharBeforeDigit(String s) {
if(null==s||s.length()==0) return null;
int cropIndex=Math.min(s.length(), 2);
if(!Character.isLetter(s.charAt(0))) return null;
if(cropIndex>1 && !Character.isLetter(s.charAt(1))) --cropIndex;
return s.substring(0,cropIndex);
}
public static void main(String[] args) {
System.out.println(getFirstTwoCharBeforeDigit("Az-a0"));
}
}
您達到's.charAt(1)'字符串長度爲1,造成異常 –
哦,是的!謝謝@索爾森。 – Damith