从字符串中获取数字

Getting a number from a string

我有一个末尾带有数字的字符串,"slot1" 并且想从中获取数字。

currentSlot.name = "slot1";
slotNumber =  currentSlot.name - "slot"; // I want it to be 1

既然你想要一个 number 那么你可能需要转换它。

您将需要 substr() 获取数字并 Number() 将其转换为数字。

您可以使用 Number()

将由数字字符组成的字符串转换为实际的数字数据
currentSlot.name = "slot1";
slotNumber =  Number(currentSlot.name.substr(4));

Number()构造函数需要一个数字,所以不要把计算放在里面

我在以前的项目中有类似的需求,并决定使用 RegExp,因此,无论字符串格式如何,总是会提取数字(如果可能)。

var n:Number = getNumbersFromString("slot1"); // can be 1slot, s1lot, etc) always will return 1

trace(n, n is Number);

function getNumbersFromString(source:String):Number
{
    var pattern:RegExp = /[^0-9]/g;
    return Number(source.replace(pattern, ''));
}