前提・実現したいこと
C# 文字列を分割する
文字列: "田中太郎,佐藤,次郎,山田三郎"
区切り文字:,
Splitメソッドで上記文字列を分割しようとしたところ出力が
・田中太郎
・佐藤
・次郎
・山田三郎
となりました。
実際に出したい出力は
・田中太郎
・佐藤次郎
・山田三郎
です。
ソースコード見れば自分でも当然だよねとは思うのですが、実現方法がわからず
検索もどんなワードで行えばヒットするかもわからなかったので質問させていただきました。
該当のソースコード
C#
1using System; 2 3namespace C_ 4{ 5 class Program 6 { 7 static void Main(string[] args) 8 { 9 string names = "田中太郎,佐藤,次郎,山田三郎"; 10 string[] items = names.Split(","); 11 12 foreach (var item in items) 13 { 14 Console.Write(" " + item); 15 } 16 //実行結果 17 //田中太郎 佐藤 次郎 山田三郎 18 19 //やりたいこと 20 //田中太郎 佐藤次郎 山田三郎 21 } 22 } 23}
どうやって「佐藤,次郎」は「佐藤次郎」であるべきと判断できるのでしょうか?
「佐藤」と「次郎」の間には"," が入っているので実行結果はそうなって当然です。(それはきちんと認識なさっているようですが)
条件付とタイトルに書かれていますが、
「佐藤,次郎」を","で分割しない条件は何でしょうか。
それが分からないと誰も答えらないと思います。
佐藤と次郎の間にカンマ(,) があるので、質問にあるような結果になるのは明白です。
定義が曖昧すぎるので回答できません。
その条件すら、考えて教えて欲しいと言うご質問でしょうか。(そんな無茶な、と言う感じですが)
申し訳ありません
タイトル等で「条件付き」と記載してしまったのが良くないようです。
純粋に「佐藤」と「次郎」に分割されていた出力を「佐藤次郎」にしたいということです。
ですからどうやって「佐藤,次郎」は「佐藤次郎」であるべきと判断できるのでしょうか?
例えば「佐 藤」さんと「次 郎」さんがいた場合、「佐藤,次郎」が「佐藤」「次郎」となるのは正しいのではないですか?
佐藤と次郎が分割されている理由は何ですか?
田中太郎 と 山田三郎 が分割されていない理由は何ですか?
最低限この理由が分からないと何も解決法が出ません。
私の内容を伝える力が乏しく、皆さまを困惑させてしまい、申し訳ありませんでした。
ベストアンサーの方に答えていただいた内容がやりたかったことです。
「佐藤,次郎」は「佐藤次郎」であるべきと判断できるのでしょうか?、
田中太郎 と 山田三郎 が分割されていない理由は何ですか?ということについて
プログラミングの授業の課題で出された問題で、
・佐藤次郎だけ分割されているのはそういうもの
・田中太郎、鈴木次郎、山田三郎の三人の名前がある
という前提が自分の中ではありました。
今後、質問を行う場合は誤解、困惑を生まないように
自分の脳内の情報は全て記入するようにします。
授業の課題ということなら、このベストアンサーの回答は間違っていると思います。
> プログラミングの授業の課題で出された問題で、
ならばここで聞くことがまず間違いですよ。先生、講師に聞くべきです。
読んでください→ https://teratail.com/help/question-tips
そこに書いてありますが、
人に質問をするには、自分が何を尋ねたいかを知っている必要があります。
これは、「自分が今『何がわからないのか』がわかっていて、言語化できている」ということです。
・・・ができることが、ここのような文章でやり取りするサイトで質問 するには最低限必要と認識してください。
ゆとり教育の成果(?)というやつでしょうか、こういう人が多いように感じる今日この頃・・・
回答3件
あなたの回答
tips
プレビュー