mirror of
https://github.com/jbranchaud/til
synced 2026-01-05 08:08:02 +00:00
Add Parse A String Into Individual Fields as a Go TIL
This commit is contained in:
@@ -10,7 +10,7 @@ pairing with smart people at Hashrocket.
|
|||||||
|
|
||||||
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
|
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
|
||||||
|
|
||||||
_1523 TILs and counting..._
|
_1524 TILs and counting..._
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -402,6 +402,7 @@ _1523 TILs and counting..._
|
|||||||
- [Do Something N Times](go/do-something-n-times.md)
|
- [Do Something N Times](go/do-something-n-times.md)
|
||||||
- [Find Executables Installed By Go](go/find-executables-installed-by-go.md)
|
- [Find Executables Installed By Go](go/find-executables-installed-by-go.md)
|
||||||
- [Not So Random](go/not-so-random.md)
|
- [Not So Random](go/not-so-random.md)
|
||||||
|
- [Parse A String Into Individual Fields](go/parse-a-string-into-individual-fields.md)
|
||||||
- [Replace The Current Process With An External Command](go/replace-the-current-process-with-an-external-command.md)
|
- [Replace The Current Process With An External Command](go/replace-the-current-process-with-an-external-command.md)
|
||||||
- [Sleep For A Duration](go/sleep-for-a-duration.md)
|
- [Sleep For A Duration](go/sleep-for-a-duration.md)
|
||||||
- [Upgrading From An Older Version On Mac](go/upgrading-from-an-older-version-on-mac.md)
|
- [Upgrading From An Older Version On Mac](go/upgrading-from-an-older-version-on-mac.md)
|
||||||
|
|||||||
39
go/parse-a-string-into-individual-fields.md
Normal file
39
go/parse-a-string-into-individual-fields.md
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# Parse A String Into Individual Fields
|
||||||
|
|
||||||
|
Let's say you're reading in data from a file or otherwise dealing with an
|
||||||
|
arbitrary string of data. If that string has a series of values separated by
|
||||||
|
whitespace, you can parse it into individual fields with
|
||||||
|
[`strings.Fields`](https://pkg.go.dev/strings#Fields).
|
||||||
|
|
||||||
|
```go
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
data := "3 5 2 6 7 1 9"
|
||||||
|
fields := strings.Fields(data)
|
||||||
|
|
||||||
|
fmt.Printf("Fields: %v", fields)
|
||||||
|
// [3 5 2 6 7 1 9]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Here is another example where we can see that `strings.Fields` deals with
|
||||||
|
multiple whitespace and surrounding whitespace:
|
||||||
|
|
||||||
|
```go
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
data := " go java c++ rust "
|
||||||
|
fields := strings.Fields(data)
|
||||||
|
|
||||||
|
fmt.Printf("%v", fields)
|
||||||
|
// [go java c++ rust]
|
||||||
|
}
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user