字符串中字符的位置

Position of character in a string

本文关键字:位置 字符 字符串      更新时间:2023-09-26

我有一个字符串:

var str = "u12345a45";//position is 7 here

现在我想要字符串中字母的位置类似地,我还有几个这样的字符串:

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

任何帮助都将不胜感激。谢谢

像一样简单

str.indexOf('a') + 1

对于任意非数字字符,它可能是

str.match(/'D/).index + 1

对于后面跟有0..inf数字字符的最后一个非数字字符:

str.match(/'D'd*$/).index + 1

只需使用indexOf方法。

var str1 = "1234567a45";
alert(str1.indexOf("a") + 1); // alerts 8 

您可以使用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

这里有一个小代码片段,应该可以解决您的问题。

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