나는이 다음과 같은 파일 이름 :파일 이름 분할 - 하위 문자열?
SCO_InsBooking_1.pdf
SCO_InsBooking_10.pdf
SCO_InsBooking_100.pdf
SCO_InsBooking_1000.pdf
I 사용하여 파일 이름을 읽기에서는 FileInfo하고 싶어 그래서 나는 1, 10, 100 또는 1000 숫자를 얻습니다. 어떻게 이것을 얻을 수 있습니까?
나는이 다음과 같은 파일 이름 :파일 이름 분할 - 하위 문자열?
SCO_InsBooking_1.pdf
SCO_InsBooking_10.pdf
SCO_InsBooking_100.pdf
SCO_InsBooking_1000.pdf
I 사용하여 파일 이름을 읽기에서는 FileInfo하고 싶어 그래서 나는 1, 10, 100 또는 1000 숫자를 얻습니다. 어떻게 이것을 얻을 수 있습니까?
사용하여 정규 표현식 :
string number = Regex.Match("SCO_InsBooking_1000.pdf", @"\d+").Value;
다른 번호가 파일 이름에 존재 없다고 가정.
filename = filename.Substring(filename.lastIndexOf("_")+1);
filename = filename.Substring(0, filename.indexOf("."));
은 또한 물론
filename = Regex.Replace(filename, "_(\d+).pdf$", "$1");
string number = "SCO_InsBooking_1.pdf".split('_')[2].split('.')[0];
, 그것은 인덱스 예외를 방지하기 위해 검사를 몇 가지 경계에 더 좋을 것이다.
당신은 정규 표현식으로이 작업을 수행 할 수 있습니다
Regex.Match(filename, @".*_(\d+).pdf").Groups[1].Value
당신하려면 string.replace을 사용할 수 있습니다() 분할에 대한
using System.Collections.Generic;
namespace strings1
{
class Program
{
static void Main(string[] args)
{
List<string> names = new List<string> {
"SCO_InsBooking_1.pdf",
"SCO_InsBooking_10.pdf",
"SCO_InsBooking_100.pdf",
"SCO_InsBooking_1000.pdf" };
List<string> numbers = new List<string>();
foreach (string item in names)
{
numbers.Add(item.Replace("SCO_InsBooking_", string.Empty).Replace(".pdf",string.Empty));
}
}
}
}
+1(), 교과서 사용 시나리오를 IMO. – Mizipzor