- ベストアンサー
C#でも文字列操作について
string sFileNM = "c:\data\2003\12\xxxxxx.csv"; 上記の「xxxxxx.csv」を「zzzzzz.txt」に置換したいのですが、VBだとright関数とか文字操作関数で可能ですが、C#の場合には、どうすれば可能でしょうか? 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 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); } } …やっぱりマニュアルを丁寧に読めば見つかるはずなのに。
その他の回答 (2)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> 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); } } }
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
なぜマニュアルを読まないのです? 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); } }
補足
質問が少し足りませんでした。 inputがファイル名で入力されるのですが、ディレクトリ名とファイル名を分割したのです。 でも、その文字列が何が入力されるか不規則なのでその方法を教えてください。
お礼
現在、System.stringのマニュアルを参考にしております。 再度の回答ありがとうございます。