Как я могу исключить цитату из начала моей строки с помощью регулярных выражений? - PullRequest
1 голос
/ 22 октября 2019

У меня есть строки, которые иногда начинаются следующим образом:

"[1][v5r,vi][uk]

В других случаях, подобных этому:

[1][v5r,vi][uk]

Как удалить ", когда он появляется в началестрока с использованием Regex? Я знаю, что мне нужно сделать что-то подобное, но не знаю, как это настроить:

regex = new Regex(@"(\n  )?\[ant=[^\]]*\]");
regex.Replace(item.JmdictMeaning, ""));

Ответы [ 5 ]

4 голосов
/ 22 октября 2019

Если строка всегда начинается с [1]:

int indexOfFirstElement = item.IndexOf("[1]");

if (indexOfFirstElement > 0)
    item = item.Substring(indexOfFirstElement);

Если вы просто хотите начать с первого [:

int indexOfFirstElement = item.IndexOf('[');

if (indexOfFirstElement > 0)
    item = item.Substring(indexOfFirstElement);

Проще, чем Regex, чтовероятно, излишне для этой проблемы.

1 голос
/ 22 октября 2019

string.StartsWith сделает трюк

string str = "\"[1][v5r,vi][uk]";
if(str.StartsWith('"'))
    str = str.Substring(1);
1 голос
/ 22 октября 2019

Вот, пожалуйста,

string input =@" ""[1][v5r,vi][uk]";
string pattern = @"^\s*""?|""?\s*$";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, "");
Console.WriteLine(result);

Мой пример вы можете найти здесь dotnetfiddle

0 голосов
/ 22 октября 2019

используйте TrimStart(), чтобы удалить этот символ, если существует

string str = "\"a[1][v5r,vi][uk]";
str= str.TrimStart('\"');
0 голосов
/ 22 октября 2019

Это можно сделать, используя indexOf и Substring

string str = "\"a[1][v5r,vi][uk]";
Console.WriteLine(str.Substring(str.IndexOf('[')));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...