繁体   English   中英

如何从 javascript 中的字符串中获取两个字符之间的最后一个字符?

[英]How to get the last before character between two characters from string in javascript?

我需要从字符串中获取两个字符之间的最后一个字符,如何使用 javascript 进行操作。 我尝试了很多并在谷歌搜索我没有找到任何答案。

对于我的示例字符串 output 是

A26261990L|B26261992S|

通过使用以下逻辑,我可以根据需要获得26261990L这个 output。

str.split('A').pop().split('|')[0]

我需要获取“L”并基于两个字符“A”、“|”。 以及基于两个字符“B”、“|”的“s” ETC...

如何实现这个功能。

像这样?

 var str = "A26261990L|B26261992S|"; var splitted = str.split("|"); var item1 = splitted[0]; var item2 = splitted[1]; console.log(item1.charAt(item1.length-1)); console.log(item2.charAt(item2.length-1));

获取字符串中的“L”和“S”

如果“字符”是指字母,那么这里有一个可能对您有所帮助的逻辑。 我正在查找传入字符的开始和结束索引,如果可以搜索,则从结束索引向后迭代。

另外,请注意str.indexOf(end, startIdx) 它在开始字符的索引之后检查结束字符的索引。

 function between(str, start, end) { const startIdx = str.indexOf(start); // Find end index after start index const endIdx = str.indexOf(end, startIdx); if (startIdx === -1 || endIdx === -1 || startIdx >= endIdx) { // Not specified in the question return "Not found"; } for (let i = endIdx - 1; i > startIdx; i--) { if (str[i] >= "A" && str[i] <= "Z") { return str[i]; } } // Not specified in the question return "Not found"; } const str = "A26261990L|B26261992S|"; console.log(between(str, "A", "|")); console.log(between(str, "B", "|")); console.log(between(str, "C", "|"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM