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