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,,