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}