我有一个字符串:
var str = "u12345a45";//position is 7 here
现在我希望该字符串中的'a'(字母)位置 同样我还有更多这样的字符串:
var str1 = "u1234567a45";//position is 9 here
var str2 = "u12345b4";//position of b is 7 here
var str3 = "u123c";//position of c is 5 here
var str4 = "u3d45";//position of d is 2 here
现在我想做的是,只是从上一次搜索字符串,并知道该字符串中任何字母表的出现一次。
注意:它可能是字符串中的任何字母:
var str5 = "u2233b45";//position of b is 6 here
var str6 = "u22333f45";//position of f is 7 here
任何帮助将不胜感激。 感谢。
答案 0 :(得分:12)
就像
一样简单str.indexOf('a') + 1
对于任意非数字字符,它可以是
str.match(/\D/).index + 1
表示最后一位非数字字符,后跟0..inf
个数字字符:
str.match(/\D\d*$/).index + 1
答案 1 :(得分:2)
只需使用indexOf方法。
var str1 = "1234567a45";
alert(str1.indexOf("a") + 1); // alerts 8
答案 2 :(得分:0)
您可以使用JavaScript的indexOf
方法。
var pos1 = str1.indexOf('a'); // will equal 7
var pos2 = str2.indexOf('a'); // will equal 5
var pos3 = str3.indexOf('a'); // will equal 3
var pos4 = str4.indexOf('a'); // will equal 0
答案 3 :(得分:0)
这是一个小型的代码片段,可以解决您的问题。
var str1= "12345t45";
var str1Length = str1.length;
for(var a=0; a<str1Length ;a++){
if(isNaN(str1.substring(a,a+1))){
alert(str1.substring(a,a+1)+' at Position : '+(a+1));
}
}
我通过字符串检查实际位置是字母还是数字。如果这是一封信,我会把他写进警报。在这个案例中,警报说:'t'位于:6
此致,Miriam