вычеркнуть цифры или буквы справа от строки - PullRequest
1 голос
/ 20 декабря 2011

У меня есть имя файла: kjrjh20111103-BATCH2242_20111113-091337.txt

Мне нужен только 091337, а не TXT или ... как мне этого добиться. Это не должно быть 6 цифр, это может быть больше или меньше, но всегда будет после "-" и последних перед. "Doc" или. "Txt"

Ответы [ 5 ]

4 голосов
/ 20 декабря 2011

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

int lastDash = text.LastIndexOf('-');
string afterDash = text.Substring(lastDash + 1);
int dot = afterDash.IndexOf('.');
string data = dot == -1 ? afterDash : afterDash.Substring(0, dot);

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

1 голос
/ 20 декабря 2011
String fileName = kjrjh20111103-BATCH2242_20111113-091337.txt;
String[] splitString = fileName.Split ( new char[] { '-', '.' } );
String Number = splitString[2];
0 голосов
/ 20 декабря 2011
        String fileName = "kjrjh20111103-BATCH2242_20111113-091337.txt";
        var startIndex = fileName.LastIndexOf('-') + 1;
        var length = fileName.LastIndexOf('.') - startIndex;
        var output = fileName.Substring(startIndex, length);
0 голосов
/ 20 декабря 2011

Regex: .*-(?<num>[0-9]*). должен делать эту работу. Группа захвата num содержит вашу строку.

0 голосов
/ 20 декабря 2011

регулярное выражение будет:

string fileName = "kjrjh20111103-BATCH2242_20111113-091337.txt";
string fileMatch = Regex.Match(fileName, "(?<=-)\d+", RegexOptions.IgnoreCase).Value;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...