omdb: strip non numeric from ImdbVotes

Closes #24
This commit is contained in:
James Bayliss
2021-02-23 18:55:16 +00:00
parent 7472fcbf0c
commit f0bf97293c
3 changed files with 47 additions and 3 deletions

View File

@@ -4,17 +4,28 @@ import "regexp"
var (
reStripNonAlphaNumeric *regexp.Regexp
reStripNonNumeric *regexp.Regexp
)
func init() {
reg, err := regexp.Compile("[^a-zA-Z0-9]+")
reg1, err := regexp.Compile("[^a-zA-Z0-9]+")
if err != nil {
panic(err)
}
reStripNonAlphaNumeric = reg
reStripNonAlphaNumeric = reg1
reg2, err := regexp.Compile("[^0-9]+")
if err != nil {
panic(err)
}
reStripNonNumeric = reg2
}
func StripNonAlphaNumeric(value string) string {
// credits: https://golangcode.com/how-to-remove-all-non-alphanumerical-characters-from-a-string/
return reStripNonAlphaNumeric.ReplaceAllString(value, "")
}
func StripNonNumeric(value string) string {
return reStripNonNumeric.ReplaceAllString(value, "")
}

View File

@@ -27,3 +27,36 @@ func TestStripNonAlphaNumeric(t *testing.T) {
})
}
}
func TestStripNonNumeric(t *testing.T) {
type args struct {
value string
}
tests := []struct {
name string
args args
want string
}{
{
name: "remove non numeric",
args: args{
value: "10, 560",
},
want: "10560",
},
{
name: "remove nothing",
args: args{
value: "100",
},
want: "100",
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := StripNonNumeric(tt.args.value); got != tt.want {
t.Errorf("StripNonNumeric() = %v, want %v", got, tt.want)
}
})
}
}