How to add "" in to string.Format in C# [duplicate] - c#

This question already has answers here:
How can I add double quotes to a string that is inside a variable?
(20 answers)
Escape double quotes in a string
(9 answers)
String.Format store double quotes inside string [duplicate]
(4 answers)
Closed 2 years ago.
I need to pass the folder path to the Python interface but spaces in the path make it complicated.
Example :
Defect.py C:\TestImage\Images works fine.
However, if there is a space in the path as below,
`Defect.py C:\**Test Image**\Images`
causes an error due to two separate parameters.
If I could pass it as :
Defect.py "C:\**Test Image**\Images" should work
So I am currently trying to use string.Format("{0}") to format this string with double quotations but does not work.
Please let me know how I could format the statement using string.Format. I need to use string.Format since there are multiple other parameters.

Try this:
string.Format("Defect.py \"C:\\{0}\\Images\"", "Test Image");
Bear in mind that the whole trick is to escape the character using the \" backslash escape character. The rest of it was just to show how to use the string.Format

Related

C# Console.WriteLine but text contains "" [duplicate]

This question already has answers here:
How to include quotes in a string
(8 answers)
Closed 3 months ago.
I want to write something with Console.WriteLine, but the text contains "".
Example:
Console.WriteLine("example: "this is an example" example");
How to avoid this problem?
I tried '' and other symbols, but it didn't work
Use the backslash character to mark the quotations, as shown:
Console.WriteLine("example: \"this is an example\" example");
This is used in languages to mark special characters, in this case marking the quotation so that it doesn't end the string prematurely.

C#: String with escaped quote ends up with three escaped characters [duplicate]

This question already has answers here:
Replace "\\" with "\" in a string in C#
(9 answers)
Escape Characters Aren't Working In Debugger (C#)
(2 answers)
How can I add \ symbol to the end of string in C#
(8 answers)
Why does .NET add an additional slash to the already existent slashes in a path?
(4 answers)
Escape sequence with "\" symbol
(4 answers)
Closed 2 years ago.
I'm struggling with escape characters in C#.
I'm saving a varchar field in a SQL Server database with a quote that needs to be escaped. So, an example could be something like that: (\"value\")
When my frontend application consume this value from API I get the value with a single escape character as i have in the DB.
The problem come up when consuming this API from C# code. For some reason this single character (\) is replaced for three of them (\\\).
After debugging the code I found that when I retrieve the data I get this:
debugging the value
When I click to check the value it seems OK:
Value into Text Visualizer
My question is why theese two extra backslashes are added and how can I get rid of them in order to get only one => (\").
Hope anyone can help me :)
Thanks!
You value should be correct. The debugger window escape the “/“, therefore it appears like escape(backslash)escape(quote).
(//)(/“)

Finding character which is not in double quote using Regular Expression [duplicate]

This question already has answers here:
Regex to pick characters outside of pair of quotes
(6 answers)
Closed 7 years ago.
I am new in writing regular expression and I have the following Scenario.
I have a string, like :
string line = "if (true){var data = string.Format(\"something {0} {1}.\", \"is\", \"wrong\");}";
now I need to write a regular expression that just pick the closing curly braces which are not in the double quote
so far I tried this:
"(^(\"[^\"]*\")(}))+"
^(\"[^\"]*\") : I want to Ignore any substring which is inside double quote, AND
(}) : I want to take }
+: for at least 1 occurrence.
But it seems I Did something wrong. Could any one please guide me to sort out where I did the wrong?
Thank you.
You just need these parts of your regex:
(?:\"[^\"]*\")|(})
Regex live here.

How to replace signs in quotes in a string [duplicate]

This question already has answers here:
Parsing CSV files in C#, with header
(19 answers)
Closed 7 years ago.
i have a semicolon separates string, that contains values of every type. string and date values are in quotations.
Now i have an evil string, where an inner string contains s semicolon, that i need to remove (replace by nothing).
eg:
"Value1";0;"Value2";4711;"Evil; Value";"2015-09-03"
in C#:
string value = "\"Value1\";0;\"Value2\";4711;\"Evil; Value\";\"2015-09-03\""
So how to replace all semicolons, that are in quotations? can anybody help?
Regex is awful at handling delimited strings. It can do it, but it's not often as good of a choice as it first appears. This is one of several reasons why.
Instead, you should use a dedicated delimited string parser. There are (at least) three built into the .Net framework. The TextFieldParser type is one of those, and it will handle this correctly.
You should try this i.e to match only those semicolons which is not preceded by : :
(?<=[^"]);
Here is demo

Transform String Folder Path [duplicate]

This question already has answers here:
Full path with double backslash (C#)
(5 answers)
Closed 9 years ago.
I'm doing a C# project for school.
I need to extract a .zip file but i have a problem.
I get the path where the file that is going to be extract is with FolderBrowserDialog and everything is ok, but the FolderBrowserDialog gives me something like "C:\Users\Zé Eduardo\Music" , but i need something like this "C:\\Users\\Zé Eduardo\\Music".
How can i transform "\" to "\\"?
well, this is the answer to your question but you are probably asking the wrong question,
var transformedString = badString.Replace(#"\", #"\\");
The # in the literal means, this is a verbatim string so normal escaping rules don't apply. Effectively, you don't need to escape the escape character.
Something simple would be to use string replace:
String original = #"c:\some\path";
String #fixed = original.Replace("\\", "\\\\"); //Note the double escaping!
//fixed contains "c:\\some\\path"

Categories