我有一个字符串:
var example = 'sorted-by-' + number;
其中number变量可以是任何正整数。我不知道如何扭转这个过程,不知道这个数字有多少位数。我想从示例字符串中得到一个数字。
答案 0 :(得分:3)
CREATE TRIGGER [dbo].[trgStockHold]
ON [dbo].[stockm]
AFTER UPDATE, INSERT
AS
BEGIN
DECLARE @inserted_held_flag nvarchar(255)
DECLARE @inserted_rowstamp nvarchar(255)
SELECT TOP 1
@inserted_held_flag = held_flag,
@inserted_rowstamp = rowstamp
FROM
inserted
IF (@inserted_held_flag in ('Y','y'))
BEGIN
IF EXISTS (SELECT TOP 1 1
FROM dbo.stockm
WHERE rowstamp = @inserted_rowstamp AND warehouse = 'KW')
BEGIN
EXEC msdb.dbo.sp_send_dbmail
@profile_name = '',
@recipients = '' ,
@body = '',
@subject = ' '
END
END
这是一个简单的解决方案,因为示例字符串始终以'sorted-by - '开头。
答案 1 :(得分:2)
let num = + string.substr(10);
答案 2 :(得分:1)
您可以使用String#replace
函数将sorted-by-
替换为空字符串,然后将左侧部分转换为数字:
var example = 'sorted-by-' + 125;
var num = +example.replace('sorted-by-', '');
console.log(num);

答案 3 :(得分:1)
您可以在-
拆分字符串,并使用pop()
获取最后一个元素。
var example = 'sorted-by-' + 100.99
var n = +(example.split('-').pop())
console.log(n)

答案 4 :(得分:0)
您也可以使用regex
。
var number = 245246245;
var example = 'sorted-by-' + number;
var res = example.match(/^sorted-by-(\d+)/);
console.log(+res[1]);