• ベストアンサー

C#でも文字列操作について

string sFileNM = "c:\data\2003\12\xxxxxx.csv"; 上記の「xxxxxx.csv」を「zzzzzz.txt」に置換したいのですが、VBだとright関数とか文字操作関数で可能ですが、C#の場合には、どうすれば可能でしょうか? 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

> inputがファイル名で入力されるのですが、ディレクトリ名とファイル名を分割したのです。 > でも、その文字列が何が入力されるか不規則なのでその方法を教えてください。 最後に現れた'\'の前後に分割 でよろしいでしょうか? それなら: class foo { public static void Main() { string input = "c:\\data\\2003\\12\\xxxxxx.csv"; int splitpos = input.LastIndexOf('\\'); string dir = input.Substring(0, splitpos); string file = input.Substring(splitpos+1, input.Length-splitpos-1); System.Console.WriteLine(dir); System.Console.WriteLine(file); } } …やっぱりマニュアルを丁寧に読めば見つかるはずなのに。

kz2960
質問者

お礼

現在、System.stringのマニュアルを参考にしております。 再度の回答ありがとうございます。

その他の回答 (2)

回答No.3

> inputがファイル名で入力されるのですが、ディレクトリ名とファイル名を分割したのです。 別解: class foo { public static void Main() { string input = "c:\\data\\2003\\12\\xxxxxx.csv"; char[] delim = { '\\' }; string[] result = input.Split(delim); foreach ( string token in result ) { System.Console.WriteLine(token); } } }

回答No.1

なぜマニュアルを読まないのです? class foo { public static void Main(string[] args) { string input = "c:\\data\\2003\\12\\xxxxxx.csv"; string result = input.Replace("xxxxxx.csv","zzzzzz.txt"); System.Console.WriteLine(result); } }

kz2960
質問者

補足

質問が少し足りませんでした。 inputがファイル名で入力されるのですが、ディレクトリ名とファイル名を分割したのです。 でも、その文字列が何が入力されるか不規則なのでその方法を教えてください。

関連するQ&A

専門家に質問してみよう