| 12345678910111213141516171819202122232425 |
- package rulesfn
- // Substring returns the substring of the input provided. If the start or stop
- // indexes are not valid for the input nil will be returned. If errors occur
- // they will be added to the provided [ErrorCollector].
- func SubString(input string, start, stop int, reverse bool) *string {
- if start < 0 || stop < 1 || start >= stop || len(input) < stop {
- return nil
- }
- for _, r := range input {
- if r > 127 {
- return nil
- }
- }
- if !reverse {
- v := input[start:stop]
- return &v
- }
- rStart := len(input) - stop
- rStop := len(input) - start
- return SubString(input, rStart, rStop, false)
- }
|