String split di Golang

String split di Golang
La manipolazione delle stringhe è uno dei compiti più fondamentali in qualsiasi linguaggio di programmazione. È possibile estrarre stringhe, stringhe di ricerca, riordini e molte altre operazioni utilizzando varie tecniche di manipolazione delle stringhe.

Uno di questi compito di manipolazione delle stringhe è la scissione delle stringhe. Quando si dispone di una stringa lunga, dall'input dell'utente, un file, un database o variabili di ambiente, potrebbe essere necessario dividere in blocchi più piccoli ed eseguire operazioni su ciascuno. Un esempio sarebbe quello di dividere una stringa da un file separato da virgole con le virgole come delimitatore.

Utilizzando questa guida, imparerai vari dividi una stringa nel linguaggio di programmazione Go.

stringhe.Funzione split ()

GO è un vasto linguaggio di programmazione che viene fornito con molti strumenti e funzionalità fuori dalla scatola. Utilizzando il pacchetto Strings dalla libreria standard, possiamo utilizzare la funzione split () per dividere una stringa in base a un delimitatore specifico.

La sintassi della funzione è come mostrata:

func split (str, sep string) [] stringa

La funzione prende la stringa e il delimitatore come argomenti. Restituisce quindi una fetta delle corde, con ogni elemento della fetta che è una sottostringa separata dal delimitatore.

Prendiamo l'esempio di seguito:

Pacchetto principale
importazione (
"FMT"
"stringhe"
func main ()
path_str: = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/giochi:/usr/locale/giochi:"
Path: = Strings.Split (path_str, ":")
fmt.Println (percorso)

Nell'esempio sopra, abbiamo un path_str variabile che contiene l'output della variabile di ambiente del percorso in Linux.

Usiamo quindi il metodo split () per separare ogni valore del percorso con il delimitatore come colon (:)

Una volta eseguito il codice sopra, dovremmo ottenere un output come mostrato:

[/USR/LOCAL/SBIN/USR/LOCAL/BIN/USR/SBIN/USR/Bin/Sbin/Bin/USR/Games/USR/Local/Games]

Una volta che abbiamo la fetta di stringhe, possiamo usare la notazione indice per accedere a ciascun elemento come mostrato:

fmt.Println (percorso [0])

Quanto sopra dovrebbe restituire l'elemento su indice 0 come mostrato nell'output di seguito:

/usr/locale/sbin

A causa della sua semplicità e diversità, questo è probabilmente quello che avrai bisogno quando devi dividere una stringa in Go.

stringhe.Splitn ()

Il metodo splitn () dal pacchetto stringhe consente di separare una stringa in base al delimitatore specificato. Tuttavia, a differenza del metodo split (), il metodo splitn prende tre argomenti, come mostrato dalla sintassi di seguito:

func splitftern (str, sep string, m int) [] stringa

La funzione splitn () consente di specificare la stringa per separare, il delimitatore e il numero di stringhe da includere nella fetta.

Se il numero di sottostringi da includere nella fetta è uguale a 0, la funzione restituisce zero.

Considera l'esempio seguente:

Pacchetto principale
importazione (
"FMT"
"stringhe"
)
func main ()
path_str: = "Samsung, Apple, Microsoft, Amazon, Google"
Path: = Strings.Splitn (path_str, ",", 3)
fmt.Println (percorso)

In questo esempio, utilizziamo una stringa separata da virgola. Usiamo quindi il metodo splitn () per estrarre la sottostringa in base alla virgola. Specifichiamo anche il numero di elementi nella fetta.

L'output risultante è come mostrato:

[Samsung Apple Microsoft, Amazon, Google]

Si noti che la funzione include la stringa dopo il numero di elementi come singola stringa.

stringhe.Splitfter

Il pacchetto di stringhe è molto vario. Offre anche la funzione SplitAfter (). Funziona in modo simile al metodo split () ma mantiene i delimitatori dopo ogni sottostrimento nella fetta.

Rivolgi la tua attenzione al codice qui sotto:

Pacchetto principale
importazione (
"FMT"
"stringhe"
)
func main ()
path_str: = "Samsung, Apple, Microsoft, Amazon, Google"
Path: = Strings.Splitfter (path_str, ",")
fmt.Println (percorso)

L'esempio sopra utilizza il metodo splitAfter () per dividere la stringa in base alla virgola come delimitatore. Preserviamo anche il delimitatore dopo ogni elemento come mostrato nell'output di seguito:

[Samsung, Apple, Microsoft, Amazon, Google]

stringhe.SplitAftern ()

Hai indovinato. Questa funzione funziona in modo simile alle stringhe.Metodo splitn (). Ciò consente di specificare il numero della sottostringa da includere nella fetta.

Un esempio è mostrato di seguito:

Pacchetto principale
importazione (
"FMT"
"stringhe"
)
func main ()
path_str: = "Samsung, Apple, Microsoft, Amazon, Google"
Path: = Strings.Splitfter (path_str, ",")
fmt.Println (percorso)

L'output risultante:

[Samsung, Apple, Microsoft, Amazon, Google]

stringhe.Campi()

Le corde.Il metodo Fields () consente di dividere le stringhe dagli spazi bianchi disponibili. A differenza di splitAfter () e splitAftern (), questo metodo non include i bianchi nella fetta.

Se non ti interessa quale spazio bianco, questo è probabilmente il metodo migliore per te.

Considera un esempio come mostrato:

Pacchetto principale
importazione (
"FMT"
"stringhe"
)
func main ()
path_str: = "\ nsamsung \ t Apple \ v Microsoft \ r Amazon Google"
Path: = Strings.Fields (path_str)
fmt.Println (percorso)

La funzione prende la stringa e la divide in tutte le spazi bianchi disponibili.

Un output di esempio è come mostrato:

[Samsung Apple Microsoft Amazon Google]

Conclusione

Le stringhe sono incredibili nel linguaggio di programmazione Go. Pertanto, è capire come eseguire varie azioni su di essi, come mostrato in questa guida.

Continua a praticare e codifica felice!