Practical String Handling
Common String Manipulation Techniques
String Trimming
import "strings"
text := " LabEx Tutorial "
trimmed := strings.TrimSpace(text)
leftTrimmed := strings.TrimLeft(text, " ")
rightTrimmed := strings.TrimRight(text, " ")
String Splitting and Joining
// Splitting strings
words := "Go,Programming,Tutorial"
splitWords := strings.Split(words, ",")
// Joining strings
joinedText := strings.Join(splitWords, " ")
String Searching and Replacement
text := "LabEx is an amazing learning platform"
contains := strings.Contains(text, "LabEx")
index := strings.Index(text, "learning")
replaced := strings.Replace(text, "LabEx", "Platform", 1)
String Conversion Methods
Conversion Type |
Method |
Example |
To Uppercase |
strings.ToUpper() |
"hello" → "HELLO" |
To Lowercase |
strings.ToLower() |
"HELLO" → "hello" |
String to Integer |
strconv.Atoi() |
"123" → 123 |
Integer to String |
strconv.Itoa() |
123 → "123" |
String Processing Workflow
graph TD
A[Input String] --> B{Processing}
B --> C[Trim]
B --> D[Split]
B --> E[Replace]
B --> F[Convert]
F --> G[Output]
Advanced String Handling
Regular Expression Operations
import "regexp"
pattern := regexp.MustCompile(`\d+`)
text := "LabEx has 100 tutorials"
matches := pattern.FindAllString(text, -1)
Using String Builder
import "strings"
func buildString() string {
var builder strings.Builder
builder.WriteString("LabEx ")
builder.WriteString("Tutorial ")
builder.WriteString("Platform")
return builder.String()
}
Error Handling in String Conversions
value, err := strconv.Atoi("123")
if err != nil {
// Handle conversion error
fmt.Println("Conversion failed")
}
Complete Example
package main
import (
"fmt"
"strings"
"strconv"
)
func main() {
// Comprehensive string handling demonstration
text := " LabEx: 42 Tutorials "
// Trimming
trimmed := strings.TrimSpace(text)
// Splitting
parts := strings.Split(trimmed, ":")
// Conversion
number, _ := strconv.Atoi(strings.TrimSpace(parts[1]))
fmt.Printf("Platform: %s, Tutorials: %d\n",
strings.TrimSpace(parts[0]),
number)
}
Best Practices
- Use standard library packages for string manipulation
- Prefer strings.Builder for performance
- Handle potential conversion errors
- Be mindful of memory allocation