2016-10-03 3 views
3

Большинство языков программирования имеют функцию, которая позволяет нам вставлять одну строку в другую строку. Например, я могу взять строку Green и строку HI и выполнить операцию Green.insert (HI, 2), чтобы получить результирующую строку GrHIeen. Но такая функция не входит в стандартную библиотеку GO lang.Как вставить строку внутри другой строки с помощью Go lang

Есть ли функция Голанга, которую я могу использовать для вставки строки внутри строки?

Например

string = "</table></body></html>" 

// I want Following Output 

string = "</table><pagebreak /></body></html>" 
+0

См [Golang: форматировать строку без печати] (http://stackoverflow.com/a/31742265/1705598) – icza

+0

Бы шаблон лучше подходит здесь? https://golang.org/pkg/text/template/#example_Template – Sairam

ответ

3

Вы можете просто использовать операции ломтика на струне:

пакета главный

func main() { 
    p := "green" 
    index := 2 
    q := p[:index] + "HI" + p[index:] 
    fmt.Println(p, q) 
} 

Рабочий пример: https://play.golang.org/p/01phuBKuBB

+0

работает для простой строки. Что такое массив строк? мой вход - массив строки. – Ali

+0

Вы можете просто выполнить цикл над массивом, сделав выше модификацию в теле цикла. – abhink

2

Вы можете превратить первую строку в шаблон для Sprintf. Это будет выглядеть следующим образом:

p := "</table>%s</body></html>" 
out := fmt.Sprintf(p,"<pagebreak />") 

Рабочий код здесь: https://play.golang.org/p/AInfyQwpy2

+0

спасибо за ans – Ali