Java练习:String相关练习 统计字符串中某一个字符/字符串出现的次数

Java练习:String相关练习 统计字符串中某一个字符/字符串出现的次数
课堂练习:
定义一个字符串"oaoaofdsafdasfdsare2qoaoaoaooooaaaaaoaoaoerefdsavjasjfdasofaoaoaa";
统计此字符串,oa出现的次数。
方法一:把oa替换成一个别的字符,通过字符长度减少多少来判断多少个oa
public static void main(String[] args) { // 课堂练习: // 定义一个字符串"oaoaofdsafdasfdsare2qoaoaoaooooaaaaaoaoaoerefdsavjasjfdasofaoaoaa"; // 统计此字符串,oa出现的次数。 // 方法一:把oa替换成一个别的字符,通过字符长度减少多少来判断多少个oa String str = "oaoaofdsafdasfdsare2qoaoaoaooooaaaaaoaoaoerefdsavjasjfdasofaoaoaa"; // str的长度 int lengthOld = str.length(); String strNew = str.replace("oa", "A"); // strNew的长度 int lengthNew = strNew.length(); System.out.println(lengthOld - lengthNew); }
方法二:通过截取,截取的字段数量-1即可
此方法需要注意:如果你要的字段要是在最后就不会截取,结果就会出问题
例如:“oooaoooooooa”的截取结果就是:“[oo,oooooo]”
所以为了断绝这种情况,我们要通过 endWith();
public static void main(String[] args) { // 课堂练习: // 定义一个字符串"oaoaofdsafdasfdsare2qoaoaoaooooaaaaaoaoaoerefdsavjasjfdasofaoaoaa"; // 统计此字符串,oa出现的次数。 // 方法二:通过截取,截取的字段数量-1即可 String str = "oaoaofdsafdasfdsare2qoaoaoaooooaaaaaoaoaoerefdsavjasjfdasofaoaoaa"; // 首先判断是不是以“oa”结尾 if (str.endsWith("oa")) { String strNew = str + "a"; } else { String strNew = str; } //按照“oa”截取成数组 String[] i = str.split("oa"); int oaLength =i.length-1; System.out.println(oaLength); }
方法三:就是常规方法去遍历整个字符串,寻找第一个数是“o”并且第二个数是“a”
public static void main(String[] args) { // 课堂练习: // 定义一个字符串"oaoaofdsafdasfdsare2qoaoaoaooooaaaaaoaoaoerefdsavjasjfdasofaoaoaa"; // 统计此字符串,oa出现的次数。 // 方法三:就是常规方法去遍历整个字符串,寻找第一个数是o并且第二个数是a String str = "oaoaofdsafdasfdsare2qoaoaoaooooaaaaaoaoaoerefdsavjasjfdasofaoaoaa"; int counter = 0; for (int i = 0; i < str.length(); i++) { if (str.charAt(i) == 'o' && str.charAt(i + 1) == 'a') { counter++; } } System.out.println(counter); }
Java控制台输出:10
文章作者:刘广法,转载请注明出处。