c#如何使用子字符串解决问题

本文关键字:字符串 解决问题 何使用 | 更新日期: 2023-09-27 18:30:11

如何解决子字符串问题。我尝试过正确编码,但对我不起作用。

文件名为bad_filename.xml或good-filename.xml

我想要的是使用子字符串来产生"坏"或"好"的结果,其中filename.xml应该被删除。如何做到这一点?

发件人:bad_filename.xml或good-filename.xml

至:不良或良好

c#如何使用子字符串解决问题

试试这个

  string s = "bad_filename.xml";
  string sub = s.Substring(0, s.IndexOf("_"));
  string sub2 = string.Concat((s.TakeWhile(x => x != '_')));
  string sub3 = s.Split('_')[0];

我给出了三种方法,从你选择的中选择任何一种

注意:当字符串不包含_时,Way(1)将抛出异常,您需要检查索引>-1

试试这个,正如我在Question评论中提到的。

var result = filename.Split('_')[0];
var result = filename.Split('_')[0];

使用Path类获取文件名,使用string.Split获取第一部分:

string fileNameWOE = Path.GetFileNameWithoutExtension("bad_filename.xml");
string firstPart = fileNameWOE.Split('_')[0];

尝试这个

string input = "bad_filename.xml"   
string sub = input.Substring(0, input.IndexOf("_"));
Console.WriteLine("Substring: {0}", sub);

您可以将此代码用于子字符串。

   string a="bad_filename.xml ";
            int index=a.IndexOf('_');
            if (index != -1)
            {
                string filename = a.Substring(0,index);
            }

输出错误

这样做:

string[] strArr = stringFileName.Split('_');
string[] strArr = bad_filename.xml.Split('_');
strArr[0] is "bad"
and
string[] strArr = good_filename.xml.Split('_');
strArr[0] is "good"