C#で

~¥¥~¥¥~
というような文字列を 最後の \\とその前で 分けたいのですが
どうすればいいでしょうか?

a¥¥b¥¥cde¥¥fgh

a¥¥b¥¥cde¥¥
fgh

ちなみに ¥やほか 文字は 半角です。
\に 化けてしまうので あえて全角で記載しています。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/06/23 13:26:49
  • 終了:2011/06/30 06:31:17

ベストアンサー

id:hissssa No.1

hissssa回答回数418ベストアンサー獲得回数1232011/06/23 14:00:38

stringクラスのLastIndexOf()メソッドで位置を確認して、Substring()で切り分ければよいのでは?

string src="a\\\\b\\\\cde\\\\fgh";

int p = src.LastIndexOf("\\\\");

string before=src.Substring(0,p-1);

string after=src.Substring(p+1);

※¥はエスケープコードなので、¥¥で切り分けるために\\\\と4個書きにしています

id:taknt

本当は ¥は 一個なのだけど エスケープコードなので 二個で表示されてしまうので ¥¥と書きました。

2011/06/23 14:05:59

その他の回答(1件)

id:hissssa No.1

hissssa回答回数418ベストアンサー獲得回数1232011/06/23 14:00:38ここでベストアンサー

stringクラスのLastIndexOf()メソッドで位置を確認して、Substring()で切り分ければよいのでは?

string src="a\\\\b\\\\cde\\\\fgh";

int p = src.LastIndexOf("\\\\");

string before=src.Substring(0,p-1);

string after=src.Substring(p+1);

※¥はエスケープコードなので、¥¥で切り分けるために\\\\と4個書きにしています

id:taknt

本当は ¥は 一個なのだけど エスケープコードなので 二個で表示されてしまうので ¥¥と書きました。

2011/06/23 14:05:59
id:freemann No.2

freemann回答回数302ベストアンサー獲得回数462011/06/25 05:56:16

こんなのはどうでしょうか。

            string data = "c:\\folder1\\folder2\\file.txt";
            string[] ar = data.Split('\\');
            data = string.Empty;
            for (int i = 0; i < ar.Length - 1; i++)
            {
                data += ar[i] + "\\";
            }
            MessageBox.Show(data);
            MessageBox.Show(ar[ar.Length - 1]);
  • id:ku__ra__ge
    なんとなくだけど、本当に望んでいる答えは
     System.IO.Path.GetDirectoryName
     System.IO.Path.GetFileName
    なんじゃないかという気がする。
  • id:taknt
    それは ちょっと違う。

    エスケープコードが 含まれた場合の文字数のカウントとか
    そういうのは どうなるのかなぁって思って。

    LastIndexOfを使うのは 一つの手だと思うけど、別の方法が知りたい。
  • id:ku__ra__ge
    なるほど。失礼しました。

    "a\\b\\cde\\fgh" は、文字列としては "a\b\cde\fgh" という文字列を表します。
    "\\" というのは、C#の言語仕様で "\" 1文字を表す表記方法なので。
    だから、C#で "a\\b\\cde\\fgh".Length とやると、11になりますね。
  • id:taknt
    ん 私の勘違いだったかな?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません