#c# #regex #string
#c# #регулярное выражение #строка
Вопрос:
Итак, я удаляю строки типа [5] [12] в двух скобках с номером между usign C #. Мне было интересно, какое регулярное выражение C # использовать при выполнении этого. Я попробовал следующее:
@"[[0-9]{1,4}]"
Я думал, это сработает, но это никак не поможет?
Комментарии:
1. Это выглядит правильно и работает (согласно герою регулярных выражений ), проблема, вероятно, в остальной части вашего кода.
2. Это мне очень помогло с регулярным выражением C #: mikesdotnetting.com/Article/46 /…
Ответ №1:
Определенно, это должно сработать, я протестировал следующее
string str = "John[1234]is [2]a foo[944]l";
string o = Regex.Replace(str, @"[[0-9] ]","");
Console.WriteLine(o);
Ответ №2:
согласно инструменту регулярных выражений @ http://myregexp.com/signedJar.html , ваш reg ex хорош. Но я думаю, вам нужно удалить «@», поскольку вы используете escape-символ «» в качестве escape-символа.
Я только что написал и протестировал следующий код, и он отлично работает (на моей машине :))
private static void RegexRemoveBracketedNumbers()
{
string testIt = @"[[0-9]{1,4}]";
Console.WriteLine(testIt);
// sure enough @Talljoe is right, this output as
// [[0-9]{1,4}] without the @ it is an unrecognized escape sequence..
Regex regex = new Regex(@"[[0-9]{1,4}]", RegexOptions.Singleline);
string output = regex.Replace("[1] hello [2] world [a] how are you? [1234]", string.Empty);
Console.WriteLine(output);
// output = "hello world [a] how are you?"
// as expected.
}
при запуске из консольного приложения…
Комментарии:
1. Нет, ему нужен символ @, потому что он использует символ » (это escape-символ для регулярного выражения, а не C #).
Ответ №3:
Попробуй это:
string test = "strings like [5] [12]";
Regex getBrackettedText = new System.Text.RegularExpressions.Regex(@"[d ] [d ]");
string[] values = getBrackettedText.Match(test).Value.Split();
Regex getNumber = new System.Text.RegularExpressions.Regex(@"d ");
foreach(string value in values)
{
Console.WriteLine(int.Parse(getNumber.Match(value).Value));
}