当前位置:  开发笔记 > 编程语言 > 正文

如何通过特殊字符串在javascript中拆分字符串

如何解决《如何通过特殊字符串在javascript中拆分字符串》经验,为你挑选了1个好方法。

我相信这很简单,我错过了一些东西.我想用javascript分割windows中的物理路径.所以我尝试使用String#split函数,但我的结果是无法预料的.

对于这个字符串

"C:\CLC\VIDA\Web\_REPOSITORIO\Colectivos\ReembolsosWeb\TMP_011906169_01_01.pdf"

我得到了这个结果

var test = "C:\CLC\VIDA\Web\_REPOSITORIO\Colectivos\ReembolsosWeb\TMP_011906169_01_01.pdf";

test.split("\"); //throws error
test.split("\\"); //result in -> ["C:CLCVIDAWeb_REPOSITORIOColectivosReembolsosWebTMP_011906169_01_01.pdf"]
test.split(/\\/); // -> the regex is the same as above

最后一件事,在我的测试中,我发现要获得我想要的结果,我可以这样做

var test2 = "C:\\CLC\\VIDA\\Web\\_REPOSITORIO\\Colectivos\\ReembolsosWeb\\TMP_011906169_01_01.pdf"
test2.split("\\"); // -> ["C:", "CLC", "VIDA", "Web", "_REPOSITORIO", "Colectivos", "ReembolsosWeb", "TMP_011906169_01_01.pdf"]

所以我的问题是,如何从testvar 拆分字符串以从最后一个案例中获取数组?



1> Marie..:

javascript中的字符串通过反斜杠(\)支持转义序列.例如,如果您需要字符串中的选项卡,则可以在字符串中添加\t任意位置,并将其替换为选项卡,\n将替换为新行.

反斜杠test转换为各自的字符或删除,因为它们是无效的转义序列.

为了解决这个问题,你可以使用另一个反斜杠来获得一个正常的反斜杠.缺点是这不能在javascript中完成.一般来说,我贴我的字符串中的记事本/ N ++ /代码/崇高和替换所有\\\

由于您正在对字符串进行硬编码,因此需要转义所有反斜杠.之后你可以使用test.split("\\")它本身包含一个转义反斜杠.

因此,就Javascript而言,您的代码看起来像这样.

var test = "C:CLCVIDAWeb_REPOSITORIOColectivosReembolsosWebTMP_011906169_01_01.pdf";

要让javascript正确地看到字符串,你需要让它看起来像这样......

var test = "C:\\CLC\\VIDA\\Web\\_REPOSITORIO\\Colectivos\\ReembolsosWeb\\TMP_011906169_01_01.pdf";

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有