Split by backslash in javascript

给你一囗甜甜゛ 提交于 2019-12-13 11:11:46

问题


I'm trying to split a string "\b1\c1\d1" into ["","b1","c1","d1"];

But even with string.split("\\") (and all ways that internet says) it simply give me a ["1c1d1"];

How can I get the result I want?


回答1:


Worked for me this way.

Tested on chrome console:

var x = "\b1\c1\d1"; // results in "1c1d1"
var x = "\\b1\\c1\\d1"; // results in "b1\c1\d1"
var y = x.split("\");
VM160:2 Uncaught SyntaxError: Unexpected token     ILLEGAL(…)InjectedScript._evaluateOn @ VM101:875InjectedScript._evaluateAndWrap @ VM101:808InjectedScript.evaluate @ VM101:664
var y = x.split("\\");  // THIS WORKS!! ["", "b1", "c1", "d1"]



回答2:


The most easier way of doing is by converting the given string in raw string where we retrieve the backslash as it is

for above scenario "\b1\c1\d1" into ["","b1","c1","d1"]

let a = String.raw`YOUR_STRING`;

let b=a.split("\\");

for eg;

let a =String.raw`\b1\c1\d1`; //Output a ="\b1\c1\d1"

let b = a.split("\\"); // Output b = ["", "b1", "c1", "d1"]

Have already tested in chrome console and for more information on String.raw method please refer: this link




回答3:


You can split your "fictional string" if it will be a regexp object

/\b1\c1\d1/.source.split('\\');


来源:https://stackoverflow.com/questions/33213673/split-by-backslash-in-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!