簡體   English   中英

使用javascript從字符串中分離字母字符

[英]Separate alphabetic characters from a string with javascript

我正在研究一個javascript項目並遇到了問題。
我有這樣的值: 1231+, 83749M, 123199B我只能通過這樣1231+, 83749M, 123199B數值/數字:

var theNumber = parseInt(1231+);

但是我怎樣才能得到像+, M, B這樣的尾隨字符? 我不能使用子字符串,因為可以有多個字符。 但是角色總會在路上。

var orig = "1231+";
var theNumber = parseInt(orig);
var theChar = orig.replace(theNumber, "");

將“1231+”中的“1231”替換為“”留下“+”。

使用正則表達式:

你的表達是: [\\d]

獲取所有非數字字符。

代碼示例

$(document).ready(function() {
    var elem = '1234+';
    alert(elem.replace(/\d/g, ''));
});

//Result +

您可以使用正則表達式。 像這樣的Somhow:

var string = "1234+";
var regexp = /([0-9]+)(.*)/;
var result = regexp.exec(string);

結果將是:

[ '1231+',
  '1231',
  '+',
  index: 0,
  input: '1231+' ]

那么result[1]將是你的數字和result[2]你的后綴。

如果您關心的只是尾隨字符而不擔心字符串中間是否有字母字符,那么您可以使用此正則表達式 -

[^\d]*$

一個方便的正則表達式測試工具是http://regexpal.com/

鑒於我們有一個模式,我們現在可以匹配 -

var foo = '1231+';
var trailers = foo.match(/[^\d]*$/);
console.log(trailers);

試試這個代碼

var n1 = "234234M",
    n2 = "6546D",
    n3 = "4455+";
alert(n1.replace(parseInt(n1), ""));
alert(n2.replace(parseInt(n2), ""));
alert(n3.replace(parseInt(n3), ""));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM