0

私は文字列を持っています:

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

どんな助けでも大歓迎です。ありがとう。

4

4 に答える 4

12

単純な

str.indexOf('a') + 1

任意の数字以外の文字の場合、次のようになります

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

最後の非数字文字の後に数字文字が続く0..inf場合:

str.match(/\D\d*$/).index + 1
于 2013-07-02T05:04:40.773 に答える
2

indexOf メソッドを使用するだけです。

var str1 = "1234567a45";
alert(str1.indexOf("a") + 1); // alerts 8 
于 2013-07-02T05:05:03.990 に答える
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' at Position: 6

よろしく、ミリアム

于 2013-07-02T07:01:32.440 に答える