java2的string类有什么好办法确定一个字符串中有N个相同的字符。谢谢

时间:2021-03-08 14:44:14
java2的string类有什么好办法确定一个字符串中有N个相同的字符。谢谢
假设有这样一个字符串
a~b~c~d~e~f~g~h~i~j~k........
我想知道再这个字符串里有多少个~,
java2的string类中有什么API可以直接使用?
或者给个最简便的算法也行,
谢谢

4 个解决方案

#1


public int countChars(String toSearch,Char c){
  short count=0;
  for(int i=0;i<toSearch.length();i++)
    if (c==toSearch.charAt(i) count++;
  return count;
}

public int countChars(String toSearch,Char c){
  int count=0,i=0;
  while((i=toSearch.indexOf(c,i))!=-1)
    count++;
  return count;
}

个人觉得相对而言,用for的效率要高一些

#2


抱歉,犯错误了,呵呵
if (c==toSearch.charAt(i) count++;
少了个括号,应该为
if (c==toSearch.charAt(i))count++;

使用while的应该这么写才对
public int countChars(String toSearch,Char c){
  int count=0,i=-1;
  while((i=toSearch.indexOf(c,i+1))!=-1)
    count++;
  return count;
}

#3


用过tokenize没?没用过建议看看,对分字符串和单词很实用。

#4


这个:

String str = "a~b~c~d~e~f~g~h~i~j~k";
int len = str.length();
int count = 0;
for (int i=0;i<len;i++){
    if str.charAt(i) == '~' count++;
}

#1


public int countChars(String toSearch,Char c){
  short count=0;
  for(int i=0;i<toSearch.length();i++)
    if (c==toSearch.charAt(i) count++;
  return count;
}

public int countChars(String toSearch,Char c){
  int count=0,i=0;
  while((i=toSearch.indexOf(c,i))!=-1)
    count++;
  return count;
}

个人觉得相对而言,用for的效率要高一些

#2


抱歉,犯错误了,呵呵
if (c==toSearch.charAt(i) count++;
少了个括号,应该为
if (c==toSearch.charAt(i))count++;

使用while的应该这么写才对
public int countChars(String toSearch,Char c){
  int count=0,i=-1;
  while((i=toSearch.indexOf(c,i+1))!=-1)
    count++;
  return count;
}

#3


用过tokenize没?没用过建议看看,对分字符串和单词很实用。

#4


这个:

String str = "a~b~c~d~e~f~g~h~i~j~k";
int len = str.length();
int count = 0;
for (int i=0;i<len;i++){
    if str.charAt(i) == '~' count++;
}