Go 言語で文字列から数値を抽出する方法
Go 言語では、文字列から数値部分を抽出する必要があることがよくあります。たとえば、電話番号を含む文字列の数値部分を抽出したり、価格情報を含む文字列から価格番号を抽出したりする必要がある場合があります。この記事では、この目標を達成するための一般的な方法をいくつか紹介します。
方法 1: 正規表現を使用する
Go 言語には、文字列の数値部分を抽出するために使用できる組み込みの正規表現ライブラリ regexp
が用意されています。以下はサンプル コードです:
package main import ( "fmt" "regexp" ) func main() { str := "ABC1234DEF5678GHI" re := regexp.MustCompile("[0-9]+") nums := re.FindAllString(str, -1) fmt.Println(nums) }
上記のコードを実行すると、出力結果は次のようになります: [1234 5678]
。
上記のコードでは、正規表現 [0-9]
を使用して文字列の数値部分と一致します。関数 FindAllString
一致するすべての文字列を返します。 2 番目のパラメータ -1
は、最初の一致だけではなく、すべての一致を返すことを意味します。最後に、抽出した数値部分を出力します。
方法 2: strconv
パッケージを使用する
Go 言語の strconv
パッケージには、文字列およびさまざまな数値型を変換するための一連の関数が用意されています。関数。これらの関数を使用して、文字列から数値を抽出できます。
以下はサンプル コードです:
package main import ( "fmt" "strconv" ) func main() { str := "ABC1234DEF5678GHI" nums := make([]int, 0) num := "" for _, char := range str { if char >= '0' && char <= '9' { num += string(char) } else if num != "" { n, _ := strconv.Atoi(num) nums = append(nums, n) num = "" } } fmt.Println(nums) }
上記のコードを実行すると、出力結果は次のようになります: [1234 5678]
。
上記のコードでは、文字列内の各文字を反復処理し、抽出された数値文字列を Atoi
関数を使用して整数に変換します。最後に、抽出した数値部分を出力します。
方法 3: 文字列を手動で解析する
文字列の数値部分に特定のルールがある場合は、文字列を手動で解析して数値を抽出することもできます。以下はサンプル コードです:
package main import "fmt" func main() { str := "ABC1234DEF5678GHI" nums := make([]int, 0) num := 0 for _, char := range str { if char >= '0' && char <= '9' { num = num*10 + int(char-'0') } else if num != 0 { nums = append(nums, num) num = 0 } } fmt.Println(nums) }
上記のコードを実行すると、出力結果は次のようになります: [1234 5678]
。
上記のコードでは、文字列内の各文字を反復処理し、現在の文字の ASCII コードから文字 '0'
の ASCII コードを引いたものを使用して、対応する数値を取得します。現在の数値に常に 10 を掛け、新しい数値を加算することで、最終的な数値が得られます。最後に、抽出した数値部分を出力します。
上記の紹介を通じて、Go 言語が文字列の数値部分を抽出するさまざまなメソッドを提供していることがわかります。特定のニーズに基づいて適切な方法を選択できます。どの方法を選択しても、文字列の数値部分を正確に抽出できるため、その後の処理が容易になります。
以上がGo言語で文字列から数値を抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

GoroutinesAreSareSareSareSormethodSthaturncurlyntingo、Enableing and LightweightConcurrency.1)theyRuntimeSimeSingMultiplexing、SountyStorunonFeweroSthReads.2)ゴルチンズを失ったことを許可します

initistoistoInitializevariables、setupconutupurations、orforformndexedarysetupbe foreThemainfunctionexecutes.useinitby:1)inginginyourcodeTorunautorunaintalunain、2)KeepingItshortandpocusedonsimpletasks、3)ConsididiriveSusinginsingingingingingingingingingingingingingingingingingingingingingingsingpltassksを使用すると、

go interfacesaremethodsignaturesetsetsattypesmustimplement、unableingpolymorphism withintinheritance forcleaner、modularcode.theyareimplictilistifisisfiestified、houseforfflexibleapisanddeaupling、busrecarefulusoavoidoidoimoidimeerrororsypertety。

Goで回復()関数を使用して、パニックから回復します。特定の方法は次のとおりです。1)回復()を使用して、延期関数でパニックをキャプチャして、プログラムのクラッシュを避けます。 2)デバッグの詳細なエラー情報を記録します。 3)特定の状況に基づいてプログラムの実行を再開するかどうかを決定します。 4)パフォーマンスに影響を及ぼさないように注意して使用します。

この記事では、弦の操作にGOの「文字列」パッケージを使用し、効率を高め、ユニコードを効果的に処理するための一般的な機能とベストプラクティスの詳細を説明します。

記事の詳細は、暗号化操作のためのGoの「暗号」パッケージ、安全な実装のための主要な生成、管理、およびベストプラクティスについて議論するためのパッケージ。

この記事では、現在の時間の取得、特定の時間の作成、文字列の解析、経過時間の測定など、日付、時間、およびタイムゾーンを処理するためのGoの「時間」パッケージの使用について詳しく説明しています。

記事では、可変検査と変更のためにGOの「反射」パッケージを使用して、方法とパフォーマンスの考慮事項を強調するために説明します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ホットトピック









