の終わりにはJavaScriptののparseIntを使用して、私は、文字列の最初の文字が数値である場合に文字列
parseInt(myString, 10) // "Never forget the radix"
は数を返すことを知っているが、私は「COLUMN5のような文字列を持っている場合、私はJavaScriptでこれを行うことができますか"それを次のもの(" column6 ")にインクリメントしたいのですか?
文字列の末尾の桁数は可変です。
の終わりにはJavaScriptののparseIntを使用して、私は、文字列の最初の文字が数値である場合に文字列
parseInt(myString, 10) // "Never forget the radix"
は数を返すことを知っているが、私は「COLUMN5のような文字列を持っている場合、私はJavaScriptでこれを行うことができますか"それを次のもの(" column6 ")にインクリメントしたいのですか?
文字列の末尾の桁数は可変です。
parseInt("column5".slice(-1), 10);
を使用できlast_charインクリメント-1または-2それぞれ1〜2桁の数字、のために。
あなたが任意の長さを指定したい場合は、数字を返すために使用することができます以下
parseInt("column6445".match(/(\d+)$/)[0], 10);
上記の文字列が1つの以上の数字で終わる限り、数字の任意の長さのために動作します
var my_car="Ferrari";
var the_length=my_car.length;
var last_char=my_car.charAt(the_length-1);
alert('The last character is '+last_char+'.');
クレジット
にそれからちょうど
速い応答に感謝します!しかし、数字が可変桁数の場合はどうなりますか?私は何百もの列があると予想しています; x – sova
2桁以上であればこれがうまくいくかどうかわかりません。 –
これは細かいので、.length、これは文字列の文字数を計算します – benhowdle89
このお試しください:これはにtext11
からtext10
、TxT1
のような文字列に変換します
var match = myString.match(/^([a-zA-Z]+)([0-9]+)$/);
if (match) {
return match[1] + (parseInt(match[2]) + 1, 10);
}
をなど。最後に長い番号で動作します。
既定のparseInt値が信頼されるためにmagic
であるため、parseInt呼び出しに基数を追加しました。
詳細はこちらをご覧ください:
http://www.w3schools.com/jsref/jsref_parseInt.asp
は基本的に、それはよくないtext9
にtext010
のようなものを変換します;)。
テキストから数値を分割し、解析し、インクリメントしてから再連結します。
var precedingString = myString.substr(0, 6); // 6 is length of "column"
var numericString = myString.substr(7);
var number = parseInt(numericString);
number++;
return precedingString + number;
スプリット正規表現を使用して単語や数:前の文字列は、よく知られた、例えば、「列」であるならば、あなたはこのような何かを行うことができます。
parseInt()を使用して番号を増やします。
単語に追加します。
文字列charをcharで読み取って、そのASCIIコードを調べてみます。その48から57まであなたはあなたの番号を持っています。 charCodeAt関数で試してください。それから、文字列を分割し、数字と数字を増やします。
2番目の引数なしでparseIntを使用しないでください。非常に奇妙なバグを望まない場合はここで10を入力してください。 – regilero