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 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}