From 06ed06d2808cad5eeea17ee94c0da0426bb6ea9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Tue, 19 Nov 2013 11:41:29 +0000 Subject: [PATCH] need a String::EraseAllChars-alike for OUStringBuffer Change-Id: I189c08a4100b32b16527ae40df3a9125bf78be88 --- include/comphelper/string.hxx | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/include/comphelper/string.hxx b/include/comphelper/string.hxx index aa1b98532b61..0363d4b743c0 100644 --- a/include/comphelper/string.hxx +++ b/include/comphelper/string.hxx @@ -85,6 +85,29 @@ inline OUString remove(const OUString &rIn, sal_Unicode c) { return rIn.replaceAll(OUString(c), OUString()); } +/** Removes all occurrences of a character from within the source string + + @param rIn The input OUStringBuffer + @param c The character to be removed + + @return The resulting OUStringBuffer + */ +inline OUStringBuffer& remove(OUStringBuffer &rIn, + sal_Unicode c) +{ + sal_Int32 index = 0; + while (1) + { + if (index >= rIn.getLength()) + break; + index = rIn.indexOf(c, index); + if (index == -1) + break; + rIn.remove(index, 1); + } + return rIn; +} + /** Strips occurrences of a character from the start of the source string @param rIn The input OString