回答編集履歴

3

具体的なコードを追記

2019/10/06 01:56

投稿

tanishi_a
tanishi_a

スコア484

test CHANGED
@@ -1,6 +1,6 @@
1
1
  こんな感じになるかと思います。
2
2
 
3
- Swift の具体的なコードは調べながらやると良いかと思います。
3
+ 具体的なコードは~~~調べながらやると良いかと思います。~~~ 下の方に追記した。
4
4
 
5
5
 
6
6
 
@@ -61,3 +61,61 @@
61
61
 
62
62
 
63
63
  1. `arr = str.split('\n')[2..].map(v => v.split('\t')[0])` みたいな感じで1行
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ せっかくなので、それぞれ書いてみた。 区切り文字はタブではないのですね・・。
80
+
81
+
82
+
83
+ ```swift
84
+
85
+ var lines = str.components(separatedBy: "\n")
86
+
87
+
88
+
89
+ lines.remove(at: 0)
90
+
91
+ lines.remove(at: 0)
92
+
93
+
94
+
95
+ var names: [String] = []
96
+
97
+ for line in lines {
98
+
99
+ let name = line.replacingOccurrences(of: " +[0-9(].*$", with: "", options: .regularExpression, range: line.range(of: line))
100
+
101
+ names.append(name)
102
+
103
+ }
104
+
105
+
106
+
107
+ // print(names)
108
+
109
+ ```
110
+
111
+
112
+
113
+ ```swift
114
+
115
+ let names = str.components(separatedBy: "\n").dropFirst(2).map({ $0.replacingOccurrences(of: " +[0-9(].*$", with: "", options: .regularExpression, range: $0.range(of: $0)) })
116
+
117
+
118
+
119
+ // print(names)
120
+
121
+ ```

2

文言を修正

2019/10/06 01:56

投稿

tanishi_a
tanishi_a

スコア484

test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
  2. 最初の2行を捨てる
50
50
 
51
- 3. 上の配列を for で回して、
51
+ 3. 上の配列を for で回して、ループ内で 4, 5 の操作をする
52
52
 
53
53
  4. 各行の1列目だけとって(タブ区切りでsplitして0番目を取得 or タブ以降を削除)
54
54
 

1

一部文言を修正

2019/10/05 18:13

投稿

tanishi_a
tanishi_a

スコア484

test CHANGED
@@ -1,7 +1,3 @@
1
- # スペースが複数入っているところは タブ文字だとして・・
2
-
3
-
4
-
5
1
  こんな感じになるかと思います。
6
2
 
7
3
  Swift の具体的なコードは調べながらやると良いかと思います。
@@ -30,11 +26,17 @@
30
26
 
31
27
  4. 何をしているのか分からない部分
32
28
 
33
- 5. 全部の行をタブ区切りで 1つの文字列としてつなげる
29
+ 5. 全部の行をタブ区切りで 1 つの文字列としてつなげる ( せっかく分けたのにもったいない )
34
30
 
35
31
  6. タブ区切りで split しなおして
36
32
 
33
+ 7. 数値の入った項目は捨てる ( 1列目に数字が入ってないのはたまたまだと思うけど )
34
+
37
- 7. 数値の入った項目は捨てて、残りを結果の配列に append する
35
+ 8. 残りを結果の配列に append する
36
+
37
+
38
+
39
+ # スペースが複数入っているところは タブ文字だと仮定した
38
40
 
39
41
 
40
42