5

How to replace a Single Backslash '\' in a String with double Backslash '\' ?

I tried this, but its not working.

main(){
String string = "back\slash back\slash back\slash back\slash";
String replaced = string.replaceAll(RegExp(r'\\'), '\\\\');
print(replaced);
}
Shahzad Akram
  • 4,586
  • 6
  • 32
  • 65

1 Answers1

17

The problem is that the string string does not contain any \

It would either need to be

String string = r"back\slash back\slash back\slash back\slash";

or

String string = "back\\slash back\\slash back\\slash back\\slash";

In your example there also is no need for RegExp. Just

String replaced = string.replaceAll(r'\', r'\\');

would do as well.

Günter Zöchbauer
  • 623,577
  • 216
  • 2,003
  • 1,567
  • This has to do with how Dart handles raw strings, for further explanation see [How to Create A Raw String In Dart](https://www.educative.io/edpresso/how-to-create-a-raw-string-in-dart) – CoderBlue Sep 12 '21 at 00:38