Удаление двойных кавычек из строки in.NET


Я пытаюсь сопоставить некоторые непоследовательно отформатированные HTML и нужно удалить некоторые двойные кавычки.

Current:

<input type="hidden">

Цель:

<input type=hidden>

Это неправильно, потому что я не побегу его правильно:

s = S. заменить(""","");

это неправильно, потому что нет пустого символа (насколько мне известно):

s = s.Replace('"', '');

что такое синтаксис / escape-кодировка для замена двойных кавычек пустой строкой?

11 65

11 ответов:

Я думаю, что ваша первая строка действительно будет работать, но я думаю, что вам нужно четыре кавычки для строки, содержащей один (по крайней мере, в VB):

s = s.Replace("""", "")

для C# вы должны были бы избежать кавычки, используя обратную косую черту:

s = s.Replace("\"", "");
s = s.Replace("\"", "");

вам нужно использовать\, чтобы избежать символа двойной кавычки в строке.

вы можете использовать любой из этих:

s = s.Replace(@"""","");
s = s.Replace("\"","");

...но мне действительно интересно, почему вы хотите это сделать? Я думал, что это хорошая практика, чтобы хранить значения атрибутов в кавычках?

Я не видел, чтобы мои мысли уже повторялись, поэтому я предлагаю вам посмотреть на string.Trim в документации Microsoft для C# вы можете добавить символ для обрезки, а не просто обрезать пустые места:

string withQuotes = "\"hellow\"";
string withOutQotes = withQuotes.Trim('"');

должно привести к withOutQuotes быть "hello" вместо ""hello""

s = s.Replace("\"",string.Empty);

вы должны избежать двойной кавычки с обратной косой чертой.

s = s.Replace("\"","");

c#:,s.Replace("\"", "")

vb/vbs / VB.net:s.Replace("""", "")

s = S. заменить(@"""", "");

это сработало для меня

//Sentence has quotes
string nameSentence = "Take my name \"Wesley\" out of quotes";
//Get the index before the quotes`enter code here`
int begin = nameSentence.LastIndexOf("name") + "name".Length;
//Get the index after the quotes
int end = nameSentence.LastIndexOf("out");
//Get the part of the string with its quotes
string name = nameSentence.Substring(begin, end - begin);
//Remove its quotes
string newName = name.Replace("\"", "");
//Replace new name (without quotes) within original sentence
string updatedNameSentence = nameSentence.Replace(name, newName);

//Returns "Take my name Wesley out of quotes"
return updatedNameSentence;
s = s.Replace( """", "" )

две кавычки рядом друг с другом будут функционировать как предполагаемый " символ, когда внутри строки.

Если вы хотите удалить кавычки только с концов строки (а не с середины), и есть вероятность, что в любом конце строки могут быть пробелы (т. е. разбор файла формата CSV, где есть пробел после запятых), то вам нужно вызвать функцию Trim два раза...например:

string myStr = " \"sometext\"";     //(notice the leading space)
myStr = myStr.Trim('"');            //(would leave the first quote: "sometext)
myStr = myStr.Trim().Trim('"');     //(would get what you want: sometext)