如何使用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);
});

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

在解析字符串之前,您可以使用Regex只保留字符串中的数字:

var d = { Region: "ABC-123" };
console.log( parseInt(d.Region.replace(/[^d]/g, ''), 10) ); // 123 (Number)

如果ID可以包含字母,则可以在-split,并使用pop:只保留最后一部分

var d = { Region: "ABC-XYZ-01230Z" };
console.log( d.Region.split('-').pop() ); // "01230Z" (String)

如果你想去掉前导零,你可以在上面应用replace

var d = { Region: "ABC-XYZ-01230Z" };
console.log( d.Region.split('-').pop().replace(/^0+/, '') ); // "1230Z" (String)

最新更新