使用javascript从字符串中分离字母字符

Separate alphabetic characters from a string with javascript

本文关键字:字符 分离 javascript 字符串 使用      更新时间:2023-09-26

我正在做一个javascript项目,遇到了一个问题。
我有这样的值:1231+, 83749M, 123199B我可以得到数值/数字只有这样做:

var theNumber = parseInt(1231+);

但是我怎样才能得到像:+, M, B这样的尾随字符呢?我不能使用substring,因为可以有多个字符。但字符将始终在跟踪

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

取代"1231"1231"+"叶子"+"。

您可以使用正则表达式。像这样:

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

结果将是:

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

那么result[1]将是您的号码,result[2]将是您的后缀。

使用正则表达式

您的表达式为:['d]

获取所有非数字字符。

代码示例

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

如果你只关心结尾字符而不担心字符串中间是否有字母字符那么你可以使用这个regex -

[^'d]*$

一个方便的regex测试工具是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), ""));