回答編集履歴

1

Linqを使わないコード例を追記

2021/10/23 13:20

投稿

dodox86
dodox86

スコア9183

test CHANGED
@@ -91,3 +91,67 @@
91
91
 
92
92
 
93
93
  もっとスマートなやり方があるかもしれませんね。一例ということでの回答です。
94
+
95
+
96
+
97
+ ---
98
+
99
+ **追記しました:**
100
+
101
+
102
+
103
+ 「C#をはじめてまだ日も浅い」とのことでしたので、Linqなど使わず、実直(?)に処理する簡単な例をおまけとして追記しておきます。※stringからchar配列は簡単ですが、1文字ずつのstring配列化は依然として面倒です。
104
+
105
+ ```C#
106
+
107
+ string s3 = "1,2 3 4 567,8";
108
+
109
+ string charsToSkip = ", "; // スキップしたい文字群(区切り文字に相当)
110
+
111
+ List<string> slist = new List<string>();
112
+
113
+ foreach (char c in s3.ToCharArray())
114
+
115
+ {
116
+
117
+ if (charsToSkip.Contains(c))
118
+
119
+ {
120
+
121
+ // スキップしたい文字
122
+
123
+ ;
124
+
125
+ }
126
+
127
+ else
128
+
129
+ {
130
+
131
+ slist.Add(new string(c, 1));
132
+
133
+ }
134
+
135
+ }
136
+
137
+ string[] a3 = slist.ToArray();
138
+
139
+ Console.WriteLine($"(3) {s3}");
140
+
141
+ Console.WriteLine("result: " + string.Join('-', a3));
142
+
143
+
144
+
145
+ /* (2)と同じ出力を得ます。
146
+
147
+ (3) 1,2 3 4 567,8
148
+
149
+ result: 1-2-3-4-5-6-7-8
150
+
151
+ */
152
+
153
+ ```
154
+
155
+
156
+
157
+ 「**色々な方法がある**」ということです。