2011-12-31 23 views
7

Tôi có một chuỗi và tôi muốn thay thế tất cả các không gian trong chuỗi này với a + Tôi mệt mỏi này bằng cách sử dụng:Thay thế tất cả các không gian trong một chuỗi với +

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

Nhưng điều đó không làm việc cho tôi. ..any giải pháp?

Ví dụ chuỗi có thể trông giống như:

The answer of the universe is 42 

Trả lời

18

từ tài liệu Go: func Replace

Nếu n < 0, không có giới hạn về số lượng thay thế.

thử

strings.Replace(tw.Text, " ", "+", -1) 
4

Tài liệu trên strings.Replace(): http://golang.org/pkg/strings/#Replace

Theo tài liệu, tham số số nguyên thứ tư là số lượng thay thế. Ví dụ của bạn sẽ chỉ thay thế không gian đầu tiên bằng dấu "+". Bạn cần phải sử dụng một số lượng nhỏ hơn 0 cho nó để không áp đặt một giới hạn:

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

Nếu bạn đang sử dụng điều này trong một truy vấn, QueryEscape phương pháp được cung cấp bởi net/url sự là giải pháp tốt nhất: https://golang.org/pkg/net/url/#QueryEscape

import "net/url" 

tw.Text = url.QueryEscape(tw.Text) 
Các vấn đề liên quan