2012-03-08 6 views
4

У меня возникли проблемы с удалением обратной косой черты из моей строки. Строка подобна этой "3adsadas34 \". Я хочу, чтобы удалить обратный слеш в конце концов, я попытался с:обрезка строки, удаление последнего символа в C#

urlContent = realUrl.Remove(realUrl.Length - 1, 1); 

Но он не хочет работать. Я хотел бы знать, могу ли я использовать регулярное выражение, и, если возможно, может быть, кто-то может предоставить образец regex для удаления '\' из этой строки или какой-то другой способ удалить обратную косую черту. Спасибо заранее, Лациале

ответ

11

Попробуйте

urlContent = realUrl.TrimEnd('\\'); 

Примечания: Вы должны избегать обратной косой черты.

char ch = '\\'; 
string s = "\\"; 
string verbatimString = @"\"; 

Ваш Remove код выглядит нормально. realUrl.Substring(0, realUrl.Length-1) будет делать то же самое. Проблема может быть где-то в другом месте.

0

вы можете использовать декоративный конец,

realUrl.TrimEnd('\\'); 

Помните, что это будет удалить все завершающие вхождений '\'

+1

Я не голосовал вас вниз, но я думаю, что мы знаем, что вы собираетесь для , но пропустил побег самого персонажа –

+0

Почти ... это должно быть '\\' – Pedro

+0

Dang !!!, исправлено спасибо – labroo

0
urlContent = realUrl.Substring(0, realUrl.Length - 1); 

должны также работать

1

, например, очень наивные реализации:

public static string RemoveTrailingBackslash(string text) 
{ 
if (text.EndsWith("\\") && text.Length > 1) 
    return text.Substring(0, text.Length - 1); 

return text; 
} 
0
string realUrl="3adsadas34\\"; 
string urlContent = realUrl.Remove(realUrl.Length - 1, 1); 
2
urlContent = realUrl.TrimEnd('\\'); 

Имейте в виду, что вы должны избежать обратной косой черты с другой обратной косой черты для того, чтобы это работать.

1

ли это так: -

Regex.Replace(str, @"\\$", ""); 
1

Чтобы удалить все обратную косую черту в конце концов, называют string.TrimEnd('\\'), как и другие плакаты писали.

Чтобы удалить только последний (при условии, что возможно несколько обратных слэша в конце), сделать что-то вроде:

if (realUrl!=null && realUrl.EndsWith('\\')) 
{ 
    urlContent = realUrl.Substring(0, realUrl.Length-1); 
} 
else 
{ 
    urlContent = realUrl; 
} 
Смежные вопросы