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 concatStringsWithJumps(lines []string) string {
13 var r string
14 for _, l := range lines {
15 r = r + l + "\n"
16 }
17 return r
18}
19
20func locateStringInArray(lines []string, s string) []int {
21 var positions []int
22
23 for k, l := range lines {
24 if strings.Contains(l, s) {
25 positions = append(positions, k)
26 }
27 }
28
29 return positions
30}
31
32func deleteArrayElementsWithString(lines []string, s string) []string {
33 var result []string
34 for _, l := range lines {
35 if !strings.Contains(l, s) {
36 result = append(result, l)
37 }
38 }
39 return result
40}
41
42func deleteLinesBetween(lines []string, from int, to int) []string {
43 var result []string
44 result = append(lines[:from], lines[to+1:]...)
45 return result
46}
47
48func addElementsToArrayPosition(lines []string, newLines []string, pos int) []string {
49 var result []string
50 result = append(result, lines[:pos]...)
51 result = append(result, newLines...)
52 result = append(result, lines[pos:]...)
53 /*
54 result = append(lines[:pos], newLines...)
55 result = append(result, lines[pos:]...)
56 */
57 return result
58}