文字列「5A」または「a6」があります。結果に「A」または「a」のみを取得したい。以下を使用していますが、機能していません。
Javascript
var answer = '5A';
answer = answer.replace(/^[0-9]+$/i);
//console.log(answer) should be 'A';
文字列「5A」または「a6」があります。結果に「A」または「a」のみを取得したい。以下を使用していますが、機能していません。
Javascript
var answer = '5A';
answer = answer.replace(/^[0-9]+$/i);
//console.log(answer) should be 'A';
var answer = '5A';
answer = answer.replace(/[^a-z]/gi, '');
// [^a-z] matches everything but a-z
// the flag `g` means it should match multiple occasions
// the flag `i` is in case sensitive which means that `A` and `a` is treated as the same character ( and `B,b`, `C,c` etc )
var answer = '5A';
answer = answer.replace(/[^A-Za-z]/g, '');
g
グローバル、no^
またはの場合$
は、''
何も置き換えません。2 番目のパラメーターを省略すると、string に置き換えられます'undefined'
。
このようなものがより速いのではないかと思いましたが、それとバリエーションははるかに遅くなります:
function alphaOnly(a) {
var b = '';
for (var i = 0; i < a.length; i++) {
if (a[i] >= 'A' && a[i] <= 'z') b += a[i];
}
return b;
}
あなたが尋ねた方法では、数字を削除するのではなく文字を見つけたいと思っています (この例では同じですが、状況によって異なる場合があります) - それが必要な場合は、選択できる別のパスがあります:
var answer = "5A";
var match = answer.match(/[a-zA-Z]/);
answer = match ? match[0] : null;
数字を削除するのではなく、文字の一致を探します。一致が見つかった場合match[0]
は最初の文字を表し、それ以外の場合match
は null になります。
var answer = '5A';
answer = answer.replace(/[0-9]/g, '');
パフォーマンスが気になる場合は、正規表現なしで実行することもできます;)
コードには複数の問題がありました。
string.replace
2 つのパラメーターを取ります: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replacei
を表すflagはcase insensitive
、数字を扱っているため意味がありません (大文字の 1 とは何ですか?!)/^[0-9]+$/
数字にのみ一致し、それ以上は一致しません。これをチェックしてください: http://www.regexper.com/。ボックスに (スラッシュなしで) 正規表現を入力し、Enter キーを押します。一般に、基本的な正規表現について少し学ぶことをお勧めします。彼らと遊ぶのに便利なアプリがあります: http://rubular.com/
JavaScript: 任意の文字列からすべてのアルファベットを抽出します..
var answer = '5A'; 回答 = 回答.replace(/[^a-zA-Z]/g, '');
/*var answer = '5A';
answer = answer.replace(/[^a-zA-Z]/g, '');*/
$("#check").click(function(){
$("#extdata").html("Extraxted Alphabets : <i >"+$("#data").val().replace(/[^a-zA-Z]/g, '')+"</i>");
});
i{
color:green;
letter-spacing:1px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<input type="text" id="data">
<button id="check">Click To Extract</button><br/>
<h5 id="extdata"></h5>
</div>