utf8 online lab golang string replace char go

string - online - golang rune



¿Cómo reemplazar un solo carácter dentro de una cadena en Golang? (1)

Puedes usar strings.Replace . strings.Replace .

package main import ( "fmt" "strings" ) func main() { str := "a space-separated string" str = strings.Replace(str, " ", ",", -1) fmt.Println(str) }

Si necesita reemplazar más de una cosa, o tendrá que hacer el mismo reemplazo una y otra vez, podría ser mejor usar strings.Replacer . strings.Replacer :

package main import ( "fmt" "strings" ) // replacer replaces spaces with commas and tabs with commas. // It''s a package-level variable so we can easily reuse it, but // this program doesn''t take advantage of that fact. var replacer = strings.NewReplacer(" ", ",", "/t", ",") func main() { str := "a space- and/ttab-separated string" str = replacer.Replace(str) fmt.Println(str) }

Y, por supuesto, si está reemplazando con el propósito de la codificación, como la codificación de URL, entonces sería mejor usar una función específicamente para ese propósito, como url.QueryEscape

Obtengo una dirección de ubicación física de un usuario y trato de organizarla para crear una URL que se usaría más adelante para obtener una respuesta JSON de la API de Google Geocode.

El resultado final de la cadena de URL debe ser similar a este , sin espacios:

http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true

No sé cómo reemplazar los espacios en blanco en mi cadena de URL y tengo comas en su lugar. Leí un poco sobre las cadenas y los paquetes de expresiones regulares y he creado el siguiente código:

package main import ( "fmt" "bufio" "os" "http" ) func main() { // Get the physical address r := bufio.NewReader(os.Stdin) fmt.Println("Enter a physical location address: ") line, _, _ := r.ReadLine() // Print the inputted address address := string(line) fmt.Println(address) // Need to see what I''m getting // Create the URL and get Google''s Geocode API JSON response for that address URL := "http://maps.googleapis.com/maps/api/geocode/json?address=" + address + "&sensor=true" fmt.Println(URL) result, _ := http.Get(URL) fmt.Println(result) // To see what I''m getting at this point }