Как разделить две строки с помощью filetype.split? - PullRequest
0 голосов
/ 11 октября 2011

Я получил следующую строку:

string name ="C:\folder\back-201190082233.zip";

Как я могу получить только часть 201190082233 из строки name? Я пробовал вот так получить единственную часть 201190082233

string filetype = name;
string[] getfiledate = filetype.Split('-');

Но я получаю часть 201190082233.zip. Теперь я хочу получить только часть 201190082233. Кто-нибудь, пожалуйста, помогите в этом?

Ответы [ 7 ]

2 голосов
/ 11 октября 2011

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

var match = Regex.Match("back.201190082233.zip" , @"(?<=-)\d+(?=\.)");
if(match.Success)
{
    var numericPart = match.Value;
}

Edit:

Если вы имеете дело с путями, .Net предлагает помощь:

string name = @"C:\folder\back.201190082233.zip";
var fileName = Path.GetFileName(name);
var match = Regex.Match(fileName , @"(?<=-)\d+(?=\.)");
if(match.Success)
{
    var numericPart = match.Value;
}
1 голос
/ 11 октября 2011

Возможно

var date = Path.GetFileNameWithoutExtension( name ).Split('-')[1];

будет достаточно.

См. Документацию по функции Path.GetFileNameWithoutExtension.

1 голос
/ 11 октября 2011

Как насчет этого?

var fileDate= filetype.Split('.')[1];

Редактировать для обновлений

var fileDate = Path.GetFileNameWithoutExtension(filetype).Split('.')[0]
1 голос
/ 11 октября 2011
string name = "C:\folder\back-201190082233.zip";
string filetype = name;
string[] getfiledate = filetype.Split(new[] {'.', '-'});
string datepart = getfiledate[1];
0 голосов
/ 11 октября 2011

или, если строка изменяется, вы можете использовать морское регулярное выражение, например:

string s = Regex.Replace("back.201190082233.zip", @"[^\.]+\.([^\.]+)\..*", "$1");
0 голосов
/ 11 октября 2011

Вы можете использовать что-то вроде ниже

string str = name.Split(".")[1];

Надеюсь, это поможет !!

0 голосов
/ 11 октября 2011

Почему вы разделяете на «-»?Не должно ли это быть.?

string numberPart = filetype.Split('.')[1];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...