how to escape characters in nodejs?
Asked Answered
R

3

17

I was wondering how would you escape special characters in nodejs. I have a string $what$ever$ and I need it escaped like \$what\$ever\$ before i call a python script with it.

I tried querystring npm package but it does something else.

Ratiocinate answered 17/3, 2014 at 21:37 Comment(1)
It's JavaScript, so start by finding out what you do and don't need to escape and how to escape it: Regular ExpressionVarrian
R
27

You can do this without any modules:

str.replace(/\\/g, "\\\\")
   .replace(/\$/g, "\\$")
   .replace(/'/g, "\\'")
   .replace(/"/g, "\\\"");

Edit:

A shorter version:

str.replace(/[\\$'"]/g, "\\$&")

(Thanks to Mike Samuel from the comments)

Rhizobium answered 17/3, 2014 at 21:47 Comment(1)
This can be abbreviated to str.replace(/[\\$'"]/g, "\\$&")Rove
H
2

ok heres a quickie. dont expect it to be the most efficient thing out there but it does the job.

"$what$ever$".split("$").join("\\$")

The other option would be use replace. But then you would have to call it multiple times for each instance. that would be long and cumbersome. this is the shortest snippet that does the trick

Higley answered 17/3, 2014 at 21:47 Comment(1)
Thanks all! #3115650 seems to be better.Ratiocinate
S
0

For that I use NodeJs module "querystring".

For example:

const scapedFilename = querystring.encode({ filename }).replace('filename=', '');
Surrealism answered 9/2 at 13:54 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.