我从外部源接收此字符串(使用单个反斜杠):
"Spool10072098_\P_18005389.txt"
Javascript完全忽略" \",但我仍然需要完全获取字符串,因为我需要在它之后获取子字符串,在这种情况下为P_18005389.txt
。
所以我的问题是,如何在\
之后获得子串?
答案 0 :(得分:2)
在您的代码中,您需要转义反斜杠,如下所示:
/* The memory will read "Spool10072098_\P_18005389.txt": */
var x = 'Spool10072098_\\P_18005389.txt';
然后您可以使用split
分割字符串。
const second_part = x.split('\\')[1];
正如您所说,从源代码以外的其他源获取的字符串只有一个反斜杠。没关系,然后内存中的字符串包含你想要的一个反斜杠。
反斜杠用于源代码以标记各种特殊字符。这就是为什么,如果你想让它出现在你的字符串中,你需要使用另一个反斜杠来逃避它。
例如:
"\n" /* will return a string containing a newline */
"\t" /* will return a string containing a tabulator */
"\\" /* will return a string containing a single \ character */
答案 1 :(得分:2)
尝试String.raw
方法:
var example = String.raw`Spool10072098_\P_18005389.txt`;
console.log(example.split('\\')[1])