diff --git a/test/textProcessing.bats b/test/textProcessing.bats index bb1dc0f..a53f039 100755 --- a/test/textProcessing.bats +++ b/test/textProcessing.bats @@ -131,6 +131,12 @@ _testCleanString_() { assert_output "this is a-string" } + @test "_cleanString_: alnum w/ spaces and dashes and regex replace" { + run _cleanString_ -asp "-|_|st, " "th_is(is)a-string" + assert_success + assert_output "th is is a ring" + } + @test "_cleanString_: user replacement" { run _cleanString_ -p "e,g" "there should be a lot of e's in this sentence" assert_success diff --git a/utilities/textProcessing.bash b/utilities/textProcessing.bash index 010e6c3..2eb0368 100644 --- a/utilities/textProcessing.bash +++ b/utilities/textProcessing.bash @@ -13,7 +13,7 @@ _cleanString_() { # -s In combination with -a, replaces characters with a space # OUTS: Prints result to STDOUT # USAGE: _cleanString_ [OPT] [STRING] [CHARS TO REMOVE] - # _cleanString_ -p " ,-" [STRING] [CHARS TO REMOVE] + # _cleanString_ -lp " ,-" [STRING] [CHARS TO REMOVE] # NOTES: Always cleaned: # - leading white space # - trailing white space @@ -80,7 +80,7 @@ _cleanString_() { fi if "${replace}"; then - string="$(echo "${string}" | sed "s/${pairs[0]}/${pairs[1]}/g")" + string="$(echo "${string}" | sed -E "s/${pairs[0]}/${pairs[1]}/g")" fi # trim trailing/leading white space and duplicate dashes