arnaucube
arnaucube/konstruiPublic Self-hosted repository
konstrui/stringManipulation.go
stringManipulation.goRaw
 1package main
 2
 3import (
 4	"strings"
 5)
 6
 7func getLines(text string) []string {
 8	lines := strings.Split(text, "\n")
 9	return lines
10}
11
12func locateStringInArray(lines []string, s string) []int {
13	var positions []int
14
15	for k, l := range lines {
16		if strings.Contains(l, s) {
17			positions = append(positions, k)
18		}
19	}
20
21	return positions
22}
23
24func deleteArrayElementsWithString(lines []string, s string) []string {
25	var result []string
26	for _, l := range lines {
27		if !strings.Contains(l, s) {
28			result = append(result, l)
29		}
30	}
31	return result
32}
33
34func deleteLinesBetween(lines []string, from int, to int) []string {
35	var result []string
36	result = append(lines[:from], lines[to+1:]...)
37	return result
38}
39
40func addElementsToArrayPosition(lines []string, newLines []string, pos int) []string {
41	var result []string
42	result = append(result, lines[:pos]...)
43	result = append(result, newLines...)
44	result = append(result, lines[pos:]...)
45	/*
46		result = append(lines[:pos], newLines...)
47		result = append(result, lines[pos:]...)
48	*/
49	return result
50}
51
52func concatStringsWithJumps(lines []string) string {
53	var r string
54	for _, l := range lines {
55		r = r + l + "\n"
56	}
57	return r
58}