c# How can i replace backslash in a string? [duplicate] - c#

This question already has answers here:
How do I replace a backslash-double quote with just a double quote?
(3 answers)
Closed 5 years ago.
I am working on a c# project and have some strings like this
first string
"[\"2018\\/02\\/12\",[\"Test1\",\"Test2\",\"Test3\",\"Test4\"]]"
But this string format is not not suitable for my application. I want to change first string to this :
second string
2018-02-12,"Test1","Test2","Test3","Test4"
I've done some of it, but I'm having trouble getting a backslash. Actually backslash did not changed.
my code :
string MyString = "[\"2018\\/02\\/12\",[\"Test1\",\"Test2\",\"Test3\",\"Test4\"]]";
MyString = MyString.Replace("[", "").Replace("]", "").Replace("\\", "");
How can I get the second string?

Use the following code:
MyString.Replace("[", string.Empty).Replace("]", string.Empty).Replace("\\", string.Empty).Replace(#"\", string.Empty).Replace("/", "-");
And view the result in Text Visualizer.

Related

String.Replace() is not working as expected to replace weird chars in strings in C# [duplicate]

This question already has answers here:
string.Replace (or other string modification) not working
(4 answers)
Closed 12 months ago.
I have a string DisplayName which has value as "Vinny' Direct Reports". I am trying to replace "'"with "-"in string as it failing to get ingested into my Data Source.
Below is the code where I am trying to replace.
if (DisplayName.Contains("'", StringComparison.OrdinalIgnoreCase) == true)
{
DisplayName.Replace("'", "-").Replace("\"", "-");
Console.WriteLine(DisplayName);
}
Change this:
DisplayName.Replace("'", "-").Replace("\"", "-");
To this:
DisplayName = DisplayName.Replace("'", "-").Replace("\"", "-");

Error when trying to do string var = "\" [duplicate]

This question already has answers here:
New Line in Constant error when trying to insert escape character in string
(3 answers)
Closed 4 years ago.
I am trying to do a Path.Combine. One string is the path and the other is just a slash.
string ok = browser.SelectedPath;
string okie = "\";
string pathy = Path.Combine(ok, okie);
Settings.Default["Path"] = pathy;
for
string okie = "\";
I get two errors NewLine in constant. Anyone know how to fix this?
Thank you!
Get rid of okie and pathy, and assign Settings.Default["Path"] the browser.SelectedPath, eg
Settings.Default["Path"] = browser.SelectedPath;

c# replace character by an empty string [duplicate]

This question already has answers here:
C# string replace does not actually replace the value in the string [duplicate]
(3 answers)
Closed 5 years ago.
I'm getting a string from a Json :
var value = JsonObject["price"]; //value = "1,560";
i'm trying to replace the ',' with an empty string :
value.Replace(",",string.Empty);
but i'm still getting the value with "," that's so strange and i'm stuck at it
thanks in advance
value = value.Replace( ", ", string.Empty);
strings in .net are immutable.
Per the documentation for String.Replace:
Returns a new string in which all occurrences of a specified string in the current instance are replaced with another specified string.
It gives you a new string; it doesn't modify the existing one. So you need to assign the result to a variable:
value = value.Replace(",", string.Empty);

Invalid string in C# [duplicate]

This question already has answers here:
What's the # in front of a string in C#?
(9 answers)
Closed 7 years ago.
How come this string is valid to open with VLC via a Process:
string fileToPlay = #"C:\Videos\Movies\Movie title.avi";
But this one isn't:
string fileToPlay = #myMovie;
Where the value of the variable myMovie is
"C:\Videos\Movies\Movie title.avi"
Process.Start(vlcPath, fileToPlay );
The problem is that you can only use the # character when placed against string literals like this:
string path = #"c:\temp";
It can be used when placed against a string variable, as you have done, but it has a different meaning. In that case, it is used when you choose an identifier which matches a C# keyword, like this:
string #class = "hello";
You can read more about it here: https://msdn.microsoft.com/en-us/library/aa691090%28v=vs.71%29.aspx

string capturing before / symboal [duplicate]

This question already has answers here:
Get Substring - everything before certain char
(9 answers)
Closed 8 years ago.
Lets say I have a string:
string a = "abc&dcg / foo / oiu";
now i would like the output to be
"abc&dcg"
i have tried:
string output= a.Substring(a.IndexOf('/'));
but it returns the last part not the first part
I have tried trim() as well, but doesn't provide me with the results.
Try this:
string result = a.Split('/')[0].Trim();
The split operation will give you the 3 substrings separated by '/' and you can choose whichever ones you want by specifying the index.
Try this one
string a = "abc&dcg / foo / oiu";
string output = a.Substring(0, a.IndexOf("/"));
Console.WriteLine(output);
It will show
abc&dcg
Try
string output;
if (a.IndexOf('/')>=0) { output = a.Split('/')[0].Trim() };
This wil prevents error case a doesn't contains any /

Categories