Java实现统计某字符串在另⼀个字符串中出现的次数——split分
隔字符
1.给固定的⼀个字符串,并实现。
st;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class CountStr {
public static void main(String[] args) {
String str = "asdfajlksdfjaslgkdfdfsdfg";
Map<String, Integer> map = new HashMap<String, Integer>();
String[] split = str.split("");
for(int i=0; i<split.length; i++){
if(!"".equals(split[i]) && ainsKey(split[i])){  //如果map当前中包含该单词,那么取得该词当次数值 + 1
map.put(split[i], (split[i]) + 1);
}else if(!"".equals(split[i])){ //如果map当前中不包含该单词,那么将该单词加⼊到map集合中,该单词作为key,值设为1
map.put(split[i],  1);
}
}
Set<String> keySet = map.keySet();
for(String string : keySet){
System.out.println(string + "出现的次数:" + (string));
}
}
}
2.给固定的⼀个字符串,封装⼀个⽅法。
package com.mqs;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Test1 {
//输出字符串每个英⽂字母出现的次数
public static void main(String[] args) {
printStr("hdusfshhhhsfjksfkssk");
}
public static void printStr(String str){
if( str==null || "".equals(str)){
System.out.println("字符串不能为空!");
return;
}
Map<String, Integer> pMap = new HashMap<String,Integer>();
String[] split = str.split("");
for (int i = 0; i < split.length; i++) {
if(!"".equals(split[i]) && ainsKey(split[i])){
pMap.put(split[i], (split[i])+1);
} else if(!"".equals(split[i])){
pMap.put(split[i], 1);
}
}java数组字符串转数组
Set<String> keySet = pMap.keySet();
for (String string : keySet) {
System.out.println(string+"出现的次数:"+(string));
}
}
}
3.java中split⽅法的⽤法
Java中的我们可以利⽤split把字符串按照指定的分割符进⾏分割,然后返回字符串数组,下⾯是string.split的⽤法实例及注意事项:java.lang.string.split
split ⽅法
将⼀个字符串分割为⼦字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
stringObj
必选项。要被分解的 String 对象或⽂字,该对象不会被split⽅法修改。
separator
可选项。字符串或正则表达式对象,它标识了分隔字符串时使⽤的是⼀个还是多个字符。如果忽略该选项,返回包含整个字符串的单⼀元素数组。
limit
可选项。该值⽤来限制返回数组中的元素个数(也就是最多分割成⼏个数组元素,只有为正数时有影响)
split ⽅法的结果是⼀个字符串数组,在 stingObj 中每个出现 separator 的位置都要进⾏分解。separator不作为任何数组元素的部分返回。⽰例1:
String str="Java string split test";
String[] strarray=str.split(" ");
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
将输出:
Java
string
split
test
⽰例2:
String str="Java string split test";
String[] strarray=str.split(" ",2);//使⽤limit,最多分割成2个字符串
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
将输出:
Java
string split test
⽰例3:
String str="192.168.0.1";
String[] strarray=str.split(".");
for (int i = 0; i < strarray.length; i++)
System.out.println(strarray[i]);
结果是什么也没输出,将split(".")改为split("//."),将输出正确结果:
192
168
1
经验分享:
1、分隔符为“.”(⽆输出),“|”(不能得到正确结果)转义字符时,“*”,“+”时出错抛出异常,都必须在前⾯加必须得加"//",如split(//|);
2、如果⽤"/"作为分隔,就得写成这样:String.split(""),因为在Java中是⽤"//"来表⽰"/"的,字符串得写成这样:String Str="a//b//c";
转义字符,必须得加"//";
3、如果在⼀个字符串中有多个分隔符,可以⽤"|"作为连字符,⽐如:String str="Java string-split#test",可以⽤Str.split(" |-|#")把每个字符串分开;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。