JAVA 如何查出一个字符串中包含的另一个字符串中的所有字符

例如有字符串“asdfghjklxsdfew" 现在有 字符串 adfknl 想请教一下如何能得到每个字符的具体位置呢?

一个循环吧。

String str1 = "asdfghjklxsdfew";
String str2 = "adfknl";

for(int i = 0; i < str2.length(); i++){
if(str1.indexOf(str2.charAt(i)) != -1){
System.out.println(str2.charAt(i)+"的位置是"+str1.indexOf(str2.charAt(i)));
}else{
System.out.println(str2.charAt(i)+"不存在")
}
}


String str1 = "asdfghjklxsdfew";
String str2 = "adfknl";
boolean isEquals = true;

    for (int i = 0; i < str2.length(); i++) {
        if (str1.indexOf(str2.charAt(i)) <= -1) {
            isEquals = false;
        }
    }

递归算法可以吧,一个一个的比较!

String str = "asdfghjklxsdfew"; 
若是要判断是否含有jklx
boolean flag=str.contains("jklx");
得到位置
int x= str.indexOf("jklx");
 String str = "asdfghjklxsdfew";
        int position = str.indexOf("jklx");
        System.out.println(position);//6

java不知道,js可以这样做

 var eachCharIndexs=function(search,string){
    var charIndexs=[];
    for(var i=0;i<string.length;i++){
        var ch=string[i];
        if(!charIndexs[ch]){
            charIndexs[ch]=[];
        }
        charIndexs[ch].push(i);
    }
    var returnAttrs=[];
    for(var i=0;i<search.length;i++){
        var ch=search[i];
        returnAttrs[ch]=charIndexs[ch];
    }
    return returnAttrs;
}
console.log(eachCharIndexs('adfknl','asdfghjklxsdfew'));

图片说明
js的动态数组可以用java的字典类型替代,Dictionary>