public static String stripAll(final CharSequence str, final CharSequence prefixOrSuffix) {
		if (equals(str, prefixOrSuffix)) {
			return EMPTY;
		}
		return stripAll(str, prefixOrSuffix, prefixOrSuffix);
	}
@Test
	public void stripAllTest() {
		final String SOURCE_STRING = "aaa_STRIPPED_bbb";

		// ---------------------------- test stripAll ----------------------------

		// Normal test
		assertEquals("_STRIPPED_bbb", CharSequenceUtil.stripAll(SOURCE_STRING, "a"));
		assertEquals(SOURCE_STRING, CharSequenceUtil.stripAll(SOURCE_STRING, ""));

		// test null param
		assertEquals("_STRIPPED_", CharSequenceUtil.stripAll(SOURCE_STRING, "a", "b"));
		assertEquals(SOURCE_STRING, CharSequenceUtil.stripAll(SOURCE_STRING, null, null));
		assertEquals(SOURCE_STRING, CharSequenceUtil.stripAll(SOURCE_STRING, "", ""));
		assertEquals("aaa_STRIPPED_", CharSequenceUtil.stripAll(SOURCE_STRING, "", "b"));
		assertEquals("aaa_STRIPPED_", CharSequenceUtil.stripAll(SOURCE_STRING, null, "b"));
		assertEquals("_STRIPPED_bbb", CharSequenceUtil.stripAll(SOURCE_STRING, "a", ""));
		assertEquals("_STRIPPED_bbb", CharSequenceUtil.stripAll(SOURCE_STRING, "a", null));

		// special test
		assertEquals("bbb", CharSequenceUtil.stripAll("aaaaaabbb", "aaa", null));
		assertEquals("abbb", CharSequenceUtil.stripAll("aaaaaaabbb", "aa", null));

		// aaaaaaaaa (9个a) 可以被看为 aaa_aaaa_aa
		assertEquals("", CharSequenceUtil.stripAll("aaaaaaaaa", "aaa", "aa"));
		// 第二次迭代后会出现 from 比 to 大的情况，原本代码是强行交换，但是回导致无法去除前后缀
		assertEquals("", CharSequenceUtil.stripAll("a", "a", "a"));

		// 前缀后缀有重叠，优先去掉前缀
		assertEquals("a", CharSequenceUtil.stripAll("aba", "ab", "ba"));
		assertEquals("a", CharSequenceUtil.stripAll("abababa", "ab", "ba"));
	}