文字列を切り分けてほしい形の配列に変換するコードを書いたのですが長く感じています
短く書けるやり方があるで!という方よろしければやり方を教えて下さい
swift
1var strr = """ 2New 52-Week Highs: 57 3HIGH PRICE CHG CHG % VOLUME 4Alleghany Corp. 808.50 797.38 -0.38 -0.05 58.5K 5Ametek Inc. 92.86 88.80 -3.02 -3.29 2.2M 6Aramark 43.75 42.68 -0.90 -2.07 2.2M 7Asbury Automotive Group Inc. 104.55 99.14 -3.19 -3.12 216.4K 8Aspen Insurance Holdings Ltd. 5.95% Fixed-to-Floating Rate Perp. Pfd. 28.63 28.39 0.14 0.50 16.1K 9Bank of America Corp. 7.25% Non-Cum. Perp. Conv. Pfd. Series L 1501.80 1495.97 -3.24 -0.22 12.1K 10BB&T Corp. 53.90 52.34 -1.03 -1.93 8.0M 11Beazer Homes USA Inc. 15.04 14.66 -0.24 -1.61 438.1K 12Brookfield Renewable Partners L.P. 41.01 40.87 0.25 0.62 304.1K 13Cedar Fair L.P. Dep. Rec. 59.27 58.20 -0.16 -0.27 242.1K 14Citizens Financial Group Inc. Dep. Pfd. (Rep. 1/40th Perp. Pfd. Series D) 28.32 28.16 0.01 0.05 14.9K 15CoreSite Realty Corp. 122.45 119.26 -2.59 -2.13 288.1K 16Cypress Energy Partners L.P. 9.49 9.49 0.49 5.44 53.4K 17DHT Holdings Inc. 6.53 6.20 0.05 0.81 2.9M 18Dick's Sporting Goods Inc. 41.53 40.47 -0.34 -0.83 1.3M 19"""
こういうのを
swift
1["Alleghany Corp.", "Alleghany Corp.", "Ametek Inc.", "Aramark", "Asbury Automotive Group Inc.", "BB&T Corp.", "Beazer Homes USA Inc.", "Brookfield Renewable Partners L.P.", "Cedar Fair L.P. Dep. Rec.", "CoreSite Realty Corp.", "Cypress Energy Partners L.P.", "DHT Holdings Inc.", "Dick\'s Sporting Goods Inc."]
に変えるというものなのですが
私は以下のように書いたのですが
まだ短く書けるやり方があるなら教えて下さい
swift
1var dd:[String] = strr.components(separatedBy: "\n") 2 3var fg:[String] = [] 4 5 6 7dd.remove(at: 0) 8dd.remove(at: 0) 9 10for b in dd { 11 if b.contains("Fund"){ 12 var _ = b 13 } else if b.contains("Series"){ 14 var _ = b 15 } else if b.contains("%"){ 16 var _ = b 17 } else { 18 fg.append(b) 19 } 20 21} 22var gb = fg.count 23 24var ee4 = "(fg[0])" + " " 25var ttt = 0 26 27var a = 0 28while a < gb { 29 ee4 = ee4 + "(fg[a])" + " " 30 a = a + 1 31} 32var jj:[String] = ee4.components(separatedBy: " ") 33var pp:[String] = [] 34 35 36for d in jj { 37 if d.contains("0"){ 38 var _ = d 39 } else if d.contains("1"){ 40 var _ = d 41 } else if d.contains("2"){ 42 var _ = d 43 } else if d.contains("3"){ 44 var _ = d 45 } else if d.contains("4"){ 46 var _ = d 47 } else if d.contains("5"){ 48 var _ = d 49 } else if d.contains("6"){ 50 var _ = d 51 } else if d.contains("7"){ 52 var _ = d 53 } else if d.contains("8"){ 54 var _ = d 55 } else if d.contains("9"){ 56 var _ = d 57 } else { 58 pp.append(d) 59 } 60 61} 62print(pp) 63
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。