2013-10-28 3 views
0

У меня есть строка с новой строкой на конце. Я не могу удалить эту новую строку. Его там в строке уже. Я хотел удалить последнюю одиночную цитату в этой строке. Я попытался с помощью метода, описанного в другом посте - Trim last character from a stringНе удается обрезать последнюю одинарную цитату в строке?

"Hello! world!".TrimEnd('!'); 

Я получаю сообщение об ошибке, когда я пытаюсь сделать "Hello! world!".TrimEnd(''');

Как это исправить?

+3

экранировать с помощью обратной косой черты ('TrimEnd ('\ '); ') –

+1

Под этим Йерун означает использование'' \ '' '. –

+0

Не могли бы вы уточнить - вы хотите удалить одиночную кавычку или хотите удалить символ для новой строки? – Leron

ответ

5

Чтобы обрезать новую строку (ы) и последнюю цитату (ы) с конца string, попробуйте использовать .TrimEnd(params char[])

string badText = "Hello World\r\n'"; 

// Remove all single quote, new line and carriage return characters 
// from the end of badText 
string goodText = badText.TrimEnd('\'', '\n', '\r'); 

Чтобы удалить только последнюю одиночную кавычку из строки после удаления возможно новая линия (s), сделать что-то вроде этого:

string badText = "Hello World\r\n'"; 
string goodText = badText.TrimEnd('\n', '\r'); 
if (goodText.EndsWith("'")) 
{ 
    // Remove the last character 
    goodText = goodText.Substring(0, goodText.Length - 1); 
} 
+0

Я думаю, вы пропустили a), чтобы закрыть if. Но после этого. Я вижу ошибку - лучшее перегруженное соответствие для string.EndsWith (string) имеет некоторые недопустимые аргументы. – Steam

+0

@blasto ах, исправил ответ. Используйте 'if (goodText.EndsWith (" '"))' –

+0

Я добавил ошибку только сейчас. Мой код генерирует новую строку после строки, а затем добавляет к ней еще одну строку. Для этого я использую Environment.newline. Кроме того, последняя строка имеет значение '. Я до сих пор не могу избавиться от этого ». :( – Steam

Смежные вопросы