replacer

package module
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2022 License: MIT Imports: 6 Imported by: 0

README

Пакет замены по тегам в строках/тексте

Methods

  • Replace() - нераспознанные теги остаются
  • ReplaceC() - нераспознанные теги удаляются
  • ReplaceE() - нераспознанные теги остаются, дополнительно возвращает массив ошибок
  • ReplaceCE() - нераспознанные теги удаляются, дополнительно возвращает массив ошибок

Usage:

import "gitlab.com/leolab/go/replacer"

func hello() string {
    return "Hello"
}

func greet(name string) string {
    return "Hello "+name
}

func list(vals ...string) string{
    return "Some: "+strings.Join(vals,", ")
}

func main(){
    repl:=replacer.NewReplacer()
    //Predefined functions
    src:=`
        Date: %date%
        Year: %date.Y%
        Month: %date.M%
        Day: %date.D%
        Time: %time%
        Hour: %time.H%
        Minute: %time.M%
        Second: %time.S%
        Ms: %time.Z%
        Ns: %time.ns%

        %undefined%

        %hello%, %name%
        %greet Michael%
        %list one two three four%

    `

    //Extends functions
    repl.Add("name","John")
    repl.Add("hello",hello)
    repl.Add("greet",greet)
    repl.Add("list",list)

    {
        dst:=repl.Replace(src)
        fmt.Println(dst)
    }
    
    {
        dst:=repl.ReplaceC(src)
        fmt.Println(dst)
    }
    
    {
        dst,e:=repl.ReplaceE(src)
        if e!=nil{
            for _,er:=range e {
                fmt.Println("Error: ",er.Error())
            }
        }
        fmt.Println(dst)
    }

    {
        dst,e:=repl.ReplaceCE(src)
        if e!=nil{
            for _,er:=range e {
                fmt.Println("Error: ",er.Error())
            }
        }
        fmt.Println(dst)
    }

}

Documentation

Overview

1.0.0

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Replacer

type Replacer struct {
	MChar rune
	// contains filtered or unexported fields
}

1.0.0

func New

func New() *Replacer

func (*Replacer) Add

func (r *Replacer) Add(key string, fn interface{}) error

Добавить токен замены

1.0.0

func (*Replacer) Del

func (r *Replacer) Del(key string) error

func (*Replacer) Replace

func (r *Replacer) Replace(s string) string

Произвести замену, не менять неопознаные теги

func (*Replacer) ReplaceC

func (r *Replacer) ReplaceC(s string) string

Произвести замену, удалить неопознанные теги

func (*Replacer) ReplaceCE

func (r *Replacer) ReplaceCE(s string) (string, []error)

Произвести замену, удалить неопознанные теги, вернуть ошибки

func (*Replacer) ReplaceE

func (r *Replacer) ReplaceE(s string) (string, []error)

Произвести замену, не менять неопознанные теги, вернуть ошибки

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL