java如何返回一个字符串中包含某字符的个数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何返回一个字符串中包含某字符的个数?相关的知识,希望对你有一定的参考价值。

//比如
String parent = "*nlkavnla*nakfmsa*lkfnalk" ; //字符串为 *nlkavnla*nakfmsa*lkfnalk
Sting son = "*" ; //检索字符为 *
//如何得到parent中包含有son的个数(这里有3个),
//也就是如何得到这里的3。

思路很多,如果会正则,用正则,不过这个有一个更简单点的方法
String[] strs = parent.split(son, -1); //用son字符串批分字符串,-1是为了避免在最后出现连续的son字符串并且没有内容。具体可以看看API
strs.length() - 1 就是包含son的个数
参考技术A String有个方法,indexOf();然后再定义一个int 统计,每检索到一次,加1.追问

有没有简便一点的,每次检索要用到循环,能不能不用循环做到

追答

不用循环,就写正则表达式吧,不过我想一般人都不太喜欢正则。

本回答被提问者采纳
参考技术B array[] a=parent.split(',');
int count=0;
for(int i=0;i<a.length;i++)
if(a[i]=='*')
count++;



System.out.println(count)

在JAVA中,键盘输入的字符串中包含的字母、数字和其他字符的个数如何制作?

参考技术A

import java.util.Scanner;/** * 统计字符串中数字,字母,空格,其他字符的个数 * 

@author Administrator * */public class Data01     public static void main(String[] args)         int englishCount = 0;// 英文字母个数   

int spaceCount = 0;// 空格个数        int numCount = 0;// 数字个数     

int otherCount = 0;// 其他字符个数      

Scanner sc = new Scanner(System.in);    

System.out.println("请您输入一行字符:");   

String str = sc.nextLine();// 取得控制台输入的一行字符   

char[] ch = str.toCharArray();// 把取道的字符串变成一个char数组        

or (int i = 0; i < ch.length; i++)     

if (Character.isLetter(ch[i]))                 // 判断是否为字母                englishCount++;             

else if (Character.isSpaceChar(ch[i]))         

// 判断是否为空格                spaceCount++;             

else if (Character.isDigit(ch[i]))                 // 判断是否为数字                numCount++;


 else                 // 以上都不是则认为是其他字符                otherCount++;                          

System.out.println("字母的个数:" + englishCount);      

System.out.println("数字的个数:" + numCount);  

System.out.println("空格的个数:" + spaceCount);       

System.out.println("其他字符的个数:" + otherCount);    


以上是关于java如何返回一个字符串中包含某字符的个数?的主要内容,如果未能解决你的问题,请参考以下文章

java字符串查找某个字符后面出现位置的方法!

在JAVA中,键盘输入的字符串中包含的字母、数字和其他字符的个数如何制作?

java 如何在字符串查找最后字符的位置

java中怎么判断字符串中包含字符个数

js 判断是不是含某字符

EXCEL VBA判断单元格是不是包含某字符