Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
998 views
in Technique[技术] by (71.8m points)

javascript replace / or / to single slash /

I know alot of answers are out there for string replace in javascript, but I can't find one for / to /. please help me out on this or send me some link to how to write regular expressions in so to replace. Thank you

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Because a backslash is used as an escape character, you'll need to escape it:

str = str.replace("\/", "/");

The above replaces / with /. In general, anywhere you use a backslash in a string, you probably need to escape it. So, to replace / with /, you'd use:

str = str.replace("/", "/");

These will, of course, only replace one instance in the string. To replace multiple instances, use a regular expression with the g (global) modifier:

str = str.replace(/\/|/\/g, "/")

Here, because forward slashes have meaning as regex terminators, you're having to escape the forward slash as well as the backslash. The alternative is to use the RegExp class:

str = str.replace(new RegExp("\\/|/", "g"), "/")

In this one, you're having to escape the backslash twice — once to escape it in the string, and once in the regex. (Here's a better explanation.)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...