我有一个字符串格式的输出,如下所示:
“ABCDED 0000A1.txt PQRSNT 12345”
我想在上面的字符串中修复具有.txt的子字符串。例如对于上面,它应该返回0000A1.txt。
由于
答案 0 :(得分:1)
您可以将字符串拆分为空格边界,就像它已经被建议一样,或者重复匹配相同的正则表达式,如下所示:
var input = "ABCDED 0000A1.txt PQRSNT 12345 THE.txt FOO";
var match = Regex.Match (input, @"\b([\w\d]+\.txt)\b");
while (match.Success) {
Console.WriteLine ("TEST: {0}", match.Value);
match = match.NextMatch ();
}
答案 1 :(得分:0)
如果空格是分隔符,则分割将起作用。如果你使用oter分隔符,你可以根据需要添加
string input = "ABCDED 0000A1.txt PQRSNT 12345";
string filename = input.Split(' ').FirstOrDefault(f => System.IO.Path.HasExtension(f));
filname =“0000A1.txt”,这适用于任何扩展程序
答案 2 :(得分:0)
您可以使用c#
,regex
和pattern
,match
:)
这是代码,插上试试。请评论。
string test = "afdkljfljalf dkfjd.txt lkjdfjdl";
string ffile = Regex.Match(test, @"\([a-z0-9])+.txt").Groups[1].Value;
Console.WriteLine(ffile);
答案 3 :(得分:0)
我做了类似的事情:
string subString = "";
char period = '.';
char[] chArString;
int iSubStrIndex = 0;
if (myString != null)
{
chArString = new char[myString.Length];
chArString = myString.ToCharArray();
for (int i = 0; i < myString.Length; i ++)
{
if (chArString[i] == period)
iSubStrIndex = i;
}
substring = myString.Substring(iSubStrIndex);
}
希望有所帮助。
答案 4 :(得分:-1)
首先使用
将字符串拆分为数组char[] whitespace = new char[] { ' ', '\t' };
string[] ssizes = myStr.Split(whitespace);
然后在数组中找到.txt ...
// Find first element starting with .txt.
//
string value1 = Array.Find(array1,
element => element.Contains(".txt", StringComparison.Ordinal));
现在你的value1将有“0000A1.txt”
快乐的编码。