C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: 文字列からある文字があるかどうか


(過去ログ 14 を表示中)

[トピック内 10 記事 (1 - 10 表示)]  << 0 >>

■4692 / inTopicNo.1)  文字列からある文字があるかどうか
  
□投稿者/ 中尾 (13回)-(2007/06/22(Fri) 15:48:28)

分類:[C# (ASP.NET)] 

2007/06/22(Fri) 16:09:33 編集(投稿者)

stringで「あいうえおかきくけこ」などの文字がある場合
そのなかから、あいうえおがある場合は残りのかきくけこを変数に格納する
方法を教えてください
お願いします 

C#です

引数 stiring型で「あいうえおかきくけこ」 と 「あいう」 なら
えおかきくけこを戻り値で返したいです
お願いします
引用返信 編集キー/
■4695 / inTopicNo.2)  Re[1]: 文字列からある文字があるかどうか
□投稿者/ ながせ (2回)-(2007/06/22(Fri) 16:18:43)
ながせです。

No4692 (中尾 さん) に返信

> 引数 stiring型で「あいうえおかきくけこ」 と 「あいう」 なら
> えおかきくけこを戻り値で返したいです
> お願いします

string a, b;
a = "あいうえおかきくけこ";
b = a.Replace("あいう", "");

という方法ではいかがでしょうか?
引用返信 編集キー/
■4696 / inTopicNo.3)  Re[2]: 文字列からある文字があるかどうか
□投稿者/ 中尾 (14回)-(2007/06/22(Fri) 16:33:48)
返信ありがとうございます

最初の文字にあいうがある場合のみ
消したいです

あと あいう が先頭にあって削除した場合のみ
残りの文字列を返したいです

お願いします
引用返信 編集キー/
■4699 / inTopicNo.4)  Re[3]: 文字列からある文字があるかどうか
□投稿者/ よねKEN (47回)-(2007/06/22(Fri) 16:44:06)
よねKEN さんの Web サイト
> あと あいう が先頭にあって削除した場合のみ
> 残りの文字列を返したいです

StringクラスのStartsWithメソッドやIndexOfメソッドで
先頭に"あいう"があるか判断できますね。
"あいう"以降の文字列を切り出すにはさらにStringクラスのSubStringメソッドが使えます。

ヘルプでStringクラスのメンバーを一通り確認してください。

引用返信 編集キー/
■4700 / inTopicNo.5)  Re[3]: 文字列からある文字があるかどうか
□投稿者/ ながせ (3回)-(2007/06/22(Fri) 16:44:47)
No4696 (中尾 さん) に返信

ながせです。
ソースがむちゃ汚いのは勘弁していただきまして^-^;
「返す」ということなのでメソッドにしてみました。


        static string HeadReplace(string src, string find)
        {
            // 検索する文字が最初にあった場合
            if (0 == src.IndexOf(find))
            {
                // 検索文字列を消す
                return src.Replace(find, "");
            }
            // そうでない場合
            else
            {
                // 何も無し
                return "";
            }
        }


        static void Main(string[] args)
        {
            string a, b, c;
            a = "あいうえおかきくけこ";
            b = "うえお";
            c = "あいう";

            // 先頭一致しないパターン
            Console.WriteLine(HeadReplace(a,b));

            // 先頭一致するパターン
            Console.WriteLine(HeadReplace(a,c));
        }

引用返信 編集キー/
■4701 / inTopicNo.6)  Re[4]: 文字列からある文字があるかどうか
□投稿者/ よねKEN (48回)-(2007/06/22(Fri) 16:57:52)
よねKEN さんの Web サイト
・先頭チェック文字列が"あいう"
・チェックされる側の文字列が"あいうえおかきくけこあいう"
の場合はどうなるのが正解でしょうか?
#先頭の"あいう"のみを取り除きたいのだろうと私の予想しています。

どちらの仕様であるにしても私の提示したメソッド群で解決できると思います。

>中尾さん

やりたいこと(仕様)は明確に書きましょう。
また、回答はヒントですから、もらったヒントが何を意味するのか
ヘルプを調べる、実験コードを書いてみるなどして試行錯誤してください。


引用返信 編集キー/
■4703 / inTopicNo.7)  Re[5]: 文字列からある文字があるかどうか
□投稿者/ ながせ (4回)-(2007/06/22(Fri) 17:04:52)
No4701 (よねKEN さん) に返信
> ・先頭チェック文字列が"あいう"
> ・チェックされる側の文字列が"あいうえおかきくけこあいう"
> の場合はどうなるのが正解でしょうか?
> #先頭の"あいう"のみを取り除きたいのだろうと私の予想しています。

確かにその通りですね。
いずれにしても条件を増やすだけで処理できますね。
引用返信 編集キー/
■4719 / inTopicNo.8)  Re[4]: 文字列からある文字があるかどうか
□投稿者/ うにくま (1回)-(2007/06/22(Fri) 22:30:34)
Regex.Replace("あいうえおかきくけこあいう", "^あいう", string.Empty)
引用返信 編集キー/
■4720 / inTopicNo.9)  Re[5]: 文字列からある文字があるかどうか
□投稿者/ iwaiwa (25回)-(2007/06/22(Fri) 22:34:57)
素直に
StartWith
使えばいいのではないのですか?
引用返信 編集キー/
■4820 / inTopicNo.10)  Re[6]: 文字列からある文字があるかどうか
□投稿者/ 中尾 (17回)-(2007/06/26(Tue) 13:59:40)
No4720 (iwaiwa さん) に返信
> 素直に
> StartWith
> 使えばいいのではないのですか?

StartWithで解決いたしました
みなさんありがとうございます
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -