-1

文字列内の一部の文字を削除する方法..

string s="testpage\information.xml"

その方法はinformation.xmlだけが必要ですか?

4

10 に答える 10

1

含まれる値sが常にファイルパスであると想定し、Pathクラスを使用してファイル名を抽出します

var filename = Path.GetFileName(s);
于 2012-11-07T05:15:49.610 に答える
1

System.IO.Path文字列にはファイルパス情報が含まれているため、これに役立つ場合があります。あなたの場合、あなたはPath.GetFileName(string path)文字列からファイル名を取得するために使用することができます。

string s = @"testpage\information.xml";
string filename = Path.GetFileName(s);
//MessageBox.Show(filename);

ありがとう、
これがお役に立てば幸いです:)

于 2012-11-07T05:17:30.967 に答える
0

ファイルパスの形式は

aaaa\bbb\ccc\dddd\information.xml

最後の文字列を取得するには、区切り文字を使用して文字列を分割できます\

String path = @"aaaa\bbb\ccc\dddd\information.xml";
String a[] = path.Split('\\');

これにより、文字列配列は次のようになります。["aaaa", "bbb", "ccc", "dddd", "information.xml"]

次のようにファイル名を取得できます

String filename = a[a.Length-1];
于 2012-11-07T05:18:02.777 に答える
0

ファイル パスを使用している場合は、Path.GetFileNameメソッドを参照してください。ファイルが存在するかどうかはチェックされません。だから速くなる。

s = Path.GetFileName(s);

ファイルが存在するかどうかを確認する必要がある場合は、File.Exists クラスを使用します。

別の方法は、 String.Split() メソッドを使用することです

string[] arr = s.Split('\\');
if(arr.Length > 0)
{
  s = arr[arr.Length - 1];
}

別の方法は、正規表現を使用することです

s = Regex.Match(s, @"[^\\]*$").Value;
于 2012-11-07T05:19:09.433 に答える
0

ファイル パスになる場合は、System.IO.Pathクラス ( MSDN ) を使用してファイル名を抽出できます。

string s = "testpage\information.xml"
var filename = Path.GetFilename(s);
于 2012-11-07T05:19:11.897 に答える
0

常にバックスラッシュ区切りの右側にある場合は、次を使用できます。

if (s.Contains(@"\")) 
     s= s.Substring(s.IndexOf(@"\") + 1);
于 2012-11-07T05:21:15.590 に答える
0

これがあなたが望むものであることを願っています:

var result=s.Substring(s.LastIndexOf(@"\") + 1);
于 2012-11-07T05:27:49.793 に答える
0

string.Replcae を使用

string s = @"testpage\information.xml";
s = s.Replace(@"testpage\\",""); // replace  'testpage\' with empty string

Output => s=information.xml を取得します

@ は、文字列にバックスラッシュがあるためにのみ必要です

STRING REPLACE の詳細については、

http://www.dotnetperls.com/replace

http://msdn.microsoft.com/en-us/library/system.string.replace.aspx

于 2012-11-07T06:30:45.143 に答える
0

次のコード行を使用して、ファイル拡張子を取得できます。

string filePath = @"D:\Test\information.xml";
string extention = Path.GetExtension(filePath);

ファイル名のみが必要な場合は、

string filePath  = @"D:\Test\information.xml";
string filename = Path.GetFilename(filePath );
于 2012-11-07T06:16:19.807 に答える
-1

C++ では、このようなことができます。基本的に、パスの右から左に「/」または「\」を検索し、区切り文字の最初の出現から文字列をトリミングします。

string ExtractFileName(const string& strPathFileName)
{
    size_t npos;
    string strOutput = strPathFileName;
    if(strPathFileName.rfind(L'/', npos) || strPathFileName.rfind(L'\\', npos))
    {
        strOutput = strPathFileName.substr(npos+1);
    }
    return strOutput;
}
于 2012-11-07T05:22:54.940 に答える