回答編集履歴
1
Linqを使わないコード例を追記
answer
CHANGED
@@ -44,4 +44,36 @@
|
|
44
44
|
result: 1-2-3-4-5-6-7-8
|
45
45
|
```
|
46
46
|
|
47
|
-
もっとスマートなやり方があるかもしれませんね。一例ということでの回答です。
|
47
|
+
もっとスマートなやり方があるかもしれませんね。一例ということでの回答です。
|
48
|
+
|
49
|
+
---
|
50
|
+
**追記しました:**
|
51
|
+
|
52
|
+
「C#をはじめてまだ日も浅い」とのことでしたので、Linqなど使わず、実直(?)に処理する簡単な例をおまけとして追記しておきます。※stringからchar配列は簡単ですが、1文字ずつのstring配列化は依然として面倒です。
|
53
|
+
```C#
|
54
|
+
string s3 = "1,2 3 4 567,8";
|
55
|
+
string charsToSkip = ", "; // スキップしたい文字群(区切り文字に相当)
|
56
|
+
List<string> slist = new List<string>();
|
57
|
+
foreach (char c in s3.ToCharArray())
|
58
|
+
{
|
59
|
+
if (charsToSkip.Contains(c))
|
60
|
+
{
|
61
|
+
// スキップしたい文字
|
62
|
+
;
|
63
|
+
}
|
64
|
+
else
|
65
|
+
{
|
66
|
+
slist.Add(new string(c, 1));
|
67
|
+
}
|
68
|
+
}
|
69
|
+
string[] a3 = slist.ToArray();
|
70
|
+
Console.WriteLine($"(3) {s3}");
|
71
|
+
Console.WriteLine("result: " + string.Join('-', a3));
|
72
|
+
|
73
|
+
/* (2)と同じ出力を得ます。
|
74
|
+
(3) 1,2 3 4 567,8
|
75
|
+
result: 1-2-3-4-5-6-7-8
|
76
|
+
*/
|
77
|
+
```
|
78
|
+
|
79
|
+
「**色々な方法がある**」ということです。
|