查找字符串中含有的數字的個數
阿新 • • 發佈:2018-09-29
sca 導入 表達式 stat else 索引 for 連接 ber
import java.util.Scanner; //可寫import java.util.*; 導入java.util包 class Assignment1 { public static void main(String[] args) { int letter=0; //是字母 int number=0; //是數字 int other=0; //是其他字符 Scanner sc=new Scanner(System.in); System.out.println("請輸入字符串:"); String s=sc.nextLine(); //讀取字符串,以回車為結束; sc.next()以空格、Tab、回車結束,所以不能讀取空格 //分析字符所屬類型 for(int i=0;i<s.length();i++) //數組的length屬性(.length),字符串的length方法(.length()) { char x=s.charAt(i); //返回指定索引處的char值 //if(Character.isUpperCase(x)||Character.isLowerCase(x))是否為大寫或小寫字母 if(Character.isLetter(x)) //是否為字母; Character.isAlphabetic()似乎用法類似,多了一種"OTHER_LETTER",存疑 { letter++; } else if(Character.isDigit(x)) //是否為數字 { number++; } else //其他字符 { other++; } } //System.out.println("字母個數:"+letter); //System.out.println("數字個數:"+number); //System.out.println("其他字符個數:"+other); System.out.println("字母個數:"+letter+"\n數字個數:"+number+"\n其他字符個數:"+other); //記得在要連接的之間加上"+" sc.close(); //關閉操作
split()+正則表達式來進行截取。
將正則傳入split()。返回的是一個字符串數組類型。不過通過這種方式截取會有很大的性能損耗,因為分析正則非常耗時。
String str = "abc,12,3yy98,0";
String[] strs=str.split(",");
for(int i=0,len=strs.length;i<len;i++){
System.out.println(strs[i].toString());
}
通過subString()方法來進行字符串截取。
subString通過不同的參數來提供不同的截取方式
2.1只傳一個參數
例如:
String sb = "bbbdsajjds";
sb.substring(2);
通過StringUtils提供的方法
StringUtils.substringBefore(“dskeabcee”, “e”);
/結果是:dsk/
這裏是以第一個”e”,為標準。
StringUtils.substringBeforeLast(“dskeabcee”, “e”)
結果為:dskeabce
這裏以最後一個“e”為準
} }
查找字符串中含有的數字的個數