diff --git a/runelite-client/src/main/java/net/runelite/client/util/Text.java b/runelite-client/src/main/java/net/runelite/client/util/Text.java index 3050554a71..4bfb00ac67 100644 --- a/runelite-client/src/main/java/net/runelite/client/util/Text.java +++ b/runelite-client/src/main/java/net/runelite/client/util/Text.java @@ -130,7 +130,7 @@ public class Text */ public static String toJagexName(String str) { - return CharMatcher.ascii().retainFrom(str.replace('\u00A0', ' ')).replaceAll("[_-]+", " ").trim(); + return CharMatcher.ascii().retainFrom(str.replaceAll("[\u00A0_-]", " ")).trim(); } /** diff --git a/runelite-client/src/test/java/net/runelite/client/util/TextTest.java b/runelite-client/src/test/java/net/runelite/client/util/TextTest.java index f4aa704684..0e0f4c0b3e 100644 --- a/runelite-client/src/test/java/net/runelite/client/util/TextTest.java +++ b/runelite-client/src/test/java/net/runelite/client/util/TextTest.java @@ -56,4 +56,21 @@ public class TextTest assertEquals("a b", Text.removeFormattingTags("a b")); assertEquals("Remove no tags", Text.removeFormattingTags("Remove no tags")); } + + @Test + public void toJagexName() + { + assertEquals("lab rat", Text.toJagexName("lab rat")); + assertEquals("lab rat", Text.toJagexName("-lab_rat")); + assertEquals("lab rat", Text.toJagexName(" lab-rat__")); + assertEquals("lab rat", Text.toJagexName("lab\u00A0rat\u00A0\u00A0")); + assertEquals("Test Man", Text.toJagexName("蹔Test\u00A0蹔Man")); + assertEquals("Test Boy", Text.toJagexName(" Te⓲st\u00A0B⓲oy⓲ ")); + assertEquals("mR nAmE", Text.toJagexName("mR nAmE")); + assertEquals("mR nAmE", Text.toJagexName("mR__nAmE")); + assertEquals("mR nAmE", Text.toJagexName("mR--nAmE")); + assertEquals("mR nAmE", Text.toJagexName("-_ mR\u00A0-nAmE _-")); + assertEquals("mR nAmE", Text.toJagexName("--__--mR_-nAmE__ --")); + assertEquals("Mind the gap", Text.toJagexName("Mind_-_-the-- __gap")); + } }