Как мне разобрать строку, используя C # и регулярные выражения? - PullRequest
1 голос
/ 28 июня 2009

Как мне преобразовать строку:

"Microsoft Windows XP Professional x64 Edition|C:\\WINDOWS|\\Device\\Harddisk4\\Partition1"

до

"Microsoft Windows XP Professional x64 Edition"

... используя регулярные выражения?

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

Ответы [ 7 ]

13 голосов
/ 28 июня 2009

Для этого вам не нужно регулярное выражение. Вы можете использовать подстроку:

var text = @"Microsoft Windows XP Professional x64 Edition|C:\WINDOWS|\Device\Harddisk4\Partition1";
text = text.Substring(0,text.IndexOf("|"));
9 голосов
/ 28 июня 2009
string str = @"Microsoft Windows XP Professional x64 Edition|C:\WINDOWS|\Device\Harddisk4\Partition1";
string str2 = str.Split('|')[0];

str2 = "Microsoft Windows XP Professional x64 Edition"

3 голосов
/ 28 июня 2009

Если вы решили использовать регулярное выражение:

Regex p = new Regex(@"([^|]*)|");
string s = @"Microsoft Windows XP Professional x64 Edition|C:\\WINDOWS|\\Device\\Harddisk4\\Partition1";
s = p.Match(s).Value;
1 голос
/ 28 июня 2009
string GetOSType(string data)
{
      return data.Split(Convert.ToChar("|"))[0];
}

это предполагает, что строка ВСЕГДА собирается разделяться. Вероятно, чтобы быть уверенным, что вы захотите обернуть блок try - catch вокруг этой функции.

1 голос
/ 28 июня 2009

Используйте String.Split (), которая возвращает String [], затем поднимите нулевой элемент.

0 голосов
/ 28 июня 2009

Простым решением может быть использование:

    string szOrig = "Microsoft Windows XP Professional x64 Edition|C:\\WINDOWS|\\Device\\Harddisk4\\Partition1";
    string[] separator = new string[] { "|" };
    string[] szTemp = szOrig.Split(separator, StringSplitOptions.RemoveEmptyEntries);
    string szRequired = szTemp[0];

Может быть не лучшим способом, но работает.

0 голосов
/ 28 июня 2009

Если вы все еще хотите узнать больше о Регулярных выражениях, вот хороший Шпаргалка и простой онлайн-инструмент для построения регулярных выражений , с которого можно начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...