Заменить все пробелы в строке на + - PullRequest
11 голосов
/ 31 декабря 2011

У меня есть строка, и я хочу заменить каждый пробел в этой строке на +. Я устал от этого, используя:

tw.Text = strings.Replace(tw.Text, " ", "+", 1)

Но это не сработало для меня ... какие-либо решения?

Например, строка может выглядеть так:

The answer of the universe is 42

Ответы [ 3 ]

26 голосов
/ 31 декабря 2011

из документации Go: func Replace

Если n <0, количество замен не ограничено. </p>

try

strings.Replace(tw.Text, " ", "+", -1)
4 голосов
/ 31 декабря 2011

Документация по strings.Replace(): http://golang.org/pkg/strings/#Replace

Согласно документации, четвертый целочисленный параметр - это число замен. Ваш пример заменит только первый пробел на "+". Вам нужно использовать число меньше 0, чтобы оно не накладывало ограничения:

tw.Text = strings.Replace(tw.Text, " ", "+", -1)
0 голосов
/ 23 ноября 2016

Если вы используете это в запросе, наилучшим решением будет метод QueryEscape, предоставленный net/url: https://golang.org/pkg/net/url/#QueryEscape

import "net/url"

tw.Text = url.QueryEscape(tw.Text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...