id summary reporter owner description type status milestone component version severity resolution keywords cc 10131 [string_algo] trim_all_*() functions leaves a single asterisk in the string. wburkhardt@… Marshall Clow "I came along this problem while I wanted to reformat a string, to form a proper filename/path. Using string_algo's boost::trim_all* variants, I came across the problem when the originating string contained asterisk characters. The trim function would *always* leave at least one asterisk in the resulting string. Example source string: {{{""TEST_**???***_TEST""}}} Desired result is: {{{""TEST__TEST""}}} Using trim_all_*() {{{ result = trim_all_copy_if(source_string, is_any_of(""\\/:*?\""<>|"")); }}} result: {{{ ""TEST_*_TEST"" }}} escaping the asterisk in the predicate did not help: {{{ result = trim_all_copy_if(source_string, is_any_of(""\\/:\\*?\""<>|"")); }}} same result: {{{ ""TEST_*_TEST"" }}} However when using a trim_fill_*() variant with an empty replacement string: {{{ result = trim_fill_copy_if(test_sequence, """", is_any_of(""\\/:*?\""<>|"")); }}} It did deliver the desired result: {{{ ""TEST__TEST"" }}} This unexpected behavior of trim_all_*() is IMHO a bug. If not, it should probably be added to the documentation. example code attached." Bugs closed To Be Determined string_algo Boost 1.55.0 Not Applicable invalid