我有一个字符串,我需要拆分代码。
字符串示例 - ' H345678_30',' q789038_155'
要在下划线后提取代码我有一些有用的东西
Select Code = RIGHT(@temp ,CHARINDEX('_',REVERSE(@temp)) - 1)
我很难提取的代码来自' _'之前的第一部分。 假设我们采用H345678_30',前3个字符总是像H34那样的Precodes,或者在上面提到的另一个例子中它将是Q78。 H34之后的#ss在' _'之前结束。是我需要的。
在这种情况下,它将是5678。
到目前为止,我有这个,但任何建议,以使这项工作更有效,这将是伟大的
Select TCode = LEFT((SUBSTRING(@temp,Charindex('q',@temp)+3,Len(@temp))), (charindex('_', ((SUBSTRING(@temp,Charindex('q',@temp)+3,Len(@temp))))))-1)
谢谢
答案 0 :(得分:1)
如果前3个字符总是"预编码"然后你可以这样做:
const arrIDCars = ["Car A", "Car B", "Car C", "Car D", "Car E"];
const vehicleIdArr = [1, 1, 2, 3, 2, 1, 2, 3, 3, 2, 1, 2, 3, 2, 1, 1];
const strProfileLinkTextArr = ["p1", "p1", "p2", "p2", "p3", "p3", "p2", "p2", "p1", "p1", "p2", "p2", "p3", "p3", "p2", "p2"];
let output = {};
strProfileLinkTextArr.forEach((text, index) => {
if (typeof output[text] == "undefined") {
output[text] = {};
}
const vId = vehicleIdArr[index];
if (typeof output[text][arrIDCars[vId - 1]] == "undefined") {
output[text] = { ...output[text], [arrIDCars[vId - 1]]: 0 };
}
output[text][arrIDCars[vId - 1]]++;
});
console.log(output);
答案 1 :(得分:0)
您可以尝试使用以下代码,我已经捕获了' _'左侧的所有内容。字符然后我删除了前3个字符以获得5678:
model.summary()['number_of_trees'][0]