🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

解決済

1回答

733閲覧

Go言語 配列の特定の文字列を除いた値を取得したい

pokerStars

総合スコア67

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

0クリップ

投稿2021/01/23 02:01

編集2021/01/24 02:34

go

1※以下数字は全て文字列です 2 3s := [{24時間営業 アルバイト時給980}{24時間営業 アルバイト時給1,000}{24時間営業 アルバイト時給1,020}] 4 5//期待値 6s := [{980}{1000}{1020}] 7

配列の文字列の中から特定の数字文字列を向きだすにはどのように書くと期待値を得られますでしょうか?
何卒よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

episteme

2021/01/23 02:07 編集

見つけた複数の数字列(24 と 980)のうち、どれを採用する? 最後に見つけた数字列? ほかのなにか? 数字列が見つからなかったらどうする?
pokerStars

2021/01/23 04:17 編集

コメントありがとうございます! 数字列(24 と 980)のうち、最後に見つけた数字列(980)の取得で問題ないです。 また取得できない場合はif文で分岐させ"取得できませんでした"と出力する予定です
guest

回答1

0

ベストアンサー

正規表現つかうとこんな↓カンジかしら:

Go

1package main 2 3import "fmt" 4import "regexp" 5 6func main() { 7 re := regexp.MustCompile("([0-9]+)[^0-9]*$") 8 result := re.FindStringSubmatch("24時間営業 アルバイト時給980円") 9 if result != nil { 10 fmt.Println(result[1]) 11 } 12}

[追記] ','対応版

Go

1package main 2 3import ( 4 "fmt" 5 "regexp" 6 "strconv" 7 "strings" 8) 9 10func main() { 11 s := []string{ 12 "24時間営業 アルバイト時給980円", 13 "24時間営業 アルバイト時給1,000円", 14 "24時間営業 アルバイト時給1,020円", 15 } 16 17 re := regexp.MustCompile("([0-9,]+)[^0-9]*$") 18 for _, str := range s { 19 result := re.FindStringSubmatch(str) 20 if result != nil { 21 var value int; 22 value, _ = strconv.Atoi(strings.ReplaceAll(result[1], ",", "")) 23 fmt.Println(value) 24 } 25 } 26}

投稿2021/01/23 05:13

編集2021/01/24 11:10
episteme

総合スコア16612

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pokerStars

2021/01/24 02:43

ありがとうございます! こちらの正規表現で後方数字参照ができました! しかし1,000円などコンマが入ってしまうと「000」のみ取り出されるのですがコンマは無視して「1,000」が取り出すことができるようにすることはできますでしょうか? 正規表現に疎くてすみません。
episteme

2021/01/24 04:11 編集

, 込みで抽出し、そのあと引っこ抜けばいいんちゃう? # 後出しジャンケンとか勘弁してよ、しかも質問書き換えて
pokerStars

2021/01/24 15:04

追加質問のための質問文編集に対するご報告漏れしてしまい申し訳ありません。 こちらの失礼ながらご回答いただきまして誠にありがとうございます。 感謝いたします!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問