Javascript 如何使用d3.js解析字符串的数字部分?

Javascript 如何使用d3.js解析字符串的数字部分?,javascript,d3.js,Javascript,D3.js,假设我有一个包含以下内容的字符串:ABC-123。如何使用d3.js库提取字符串(123)的数字部分 下面是我当前试图使用parseInt函数的代码部分。请注意,ABC-123位于本例中名为Region的列中: Promise.all([ d3.csv("abc-data.csv")]) .then(function(data){ data[0].forEach(function(d){ d.Region= parseInt(d.Region); }); 我错过了什么?如

假设我有一个包含以下内容的字符串:
ABC-123
。如何使用d3.js库提取字符串(
123
)的数字部分

下面是我当前试图使用
parseInt
函数的代码部分。请注意,
ABC-123
位于本例中名为
Region
的列中:

Promise.all([
  d3.csv("abc-data.csv")])

  .then(function(data){
  data[0].forEach(function(d){

  d.Region= parseInt(d.Region);

});

我错过了什么?如果有帮助的话,我正在使用d3.js.v5。提前感谢您的建议。

在解析字符串之前,您可以使用正则表达式仅保留字符串中的数字:

vard={Region:“ABC-123”};

log(parseInt(d.Region.replace(/[^\d]/g',),10));//123(数字)
在解析字符串之前,可以使用正则表达式仅保留字符串中的数字:

vard={Region:“ABC-123”};

log(parseInt(d.Region.replace(/[^\d]/g',),10));//123(数字)
这非常有用,谢谢。快速提问:这个过程是否固有地使字符串成为一个数字?如果不是,我如何轻松地将其转换为数字?再次感谢。@R.Baratheon The
str.replace()
部分返回一个字符串。这就是为什么我用
parseInt
来包装它的原因。这太棒了。最后一个问题:有没有办法删除流程中的前导零?(例如,“ABC-012”变为“12”,等等)使用
parseInt
将为您提供一个数字。数字不能有前导零,所以你很好,不会有前导零,除非数字实际上是
0
我编辑了我的答案。这对你有帮助吗?另外,当你不习惯正则表达式时,它可能有点难以理解。以下网站可能会帮助您了解每个角色的作用(请看右边):这非常有帮助,谢谢。快速提问:这个过程是否固有地使字符串成为一个数字?如果不是,我如何轻松地将其转换为数字?再次感谢。@R.Baratheon The
str.replace()
部分返回一个字符串。这就是为什么我用
parseInt
来包装它的原因。这太棒了。最后一个问题:有没有办法删除流程中的前导零?(例如,“ABC-012”变为“12”,等等)使用
parseInt
将为您提供一个数字。数字不能有前导零,所以你很好,不会有前导零,除非数字实际上是
0
我编辑了我的答案。这对你有帮助吗?另外,当你不习惯正则表达式时,它可能有点难以理解。以下网站可能会帮助您了解每个角色的作用(请参见右侧):