From f477b79fc202bdfc04da48108ed964834bce9667 Mon Sep 17 00:00:00 2001 From: mikemirzayanov Date: Wed, 23 Aug 2023 19:08:06 +0300 Subject: [PATCH 1/2] testWellformForWindows --- .../java/com/codeforces/commons/text/StringUtilTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/src/test/java/com/codeforces/commons/text/StringUtilTest.java b/code/src/test/java/com/codeforces/commons/text/StringUtilTest.java index a633b74..031383b 100644 --- a/code/src/test/java/com/codeforces/commons/text/StringUtilTest.java +++ b/code/src/test/java/com/codeforces/commons/text/StringUtilTest.java @@ -383,4 +383,11 @@ private static void internalTestLooksLikeUtilDifferent(String... strings) { private static void internalTestSplit(String s, char c, String[] parts) { assertArrayEquals("Illegal split of '" + s + "' by '" + c + "'.", parts, StringUtil.split(s, c)); } + + @Test + public void testWellformForWindows() { + assertEquals("1\r\n", StringUtil.wellformForWindows("\r\n\r\n 1 \r\n \r\n ")); + assertEquals("a b c\r\nd e\r\n", StringUtil.wellformForWindows("\r\n\r\n a b c \r\n d e")); + assertEquals("a b c\r\n\r\nd e\r\n", StringUtil.wellformForWindows("a b c\r\n\r\nd e\r\n")); + } } From 790f7a7b67bd0d204c2f532a594f4058053e253c Mon Sep 17 00:00:00 2001 From: mikemirzayanov Date: Thu, 7 Dec 2023 14:34:40 +0300 Subject: [PATCH 2/2] private static final Pattern FORMAT_COMMENTS_LINE_BREAK_REPLACE_PATTERN = Pattern.compile("[\n\r][\\s\\u200B]*[\n\r]+"); --- code/src/main/java/com/codeforces/commons/text/StringUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/src/main/java/com/codeforces/commons/text/StringUtil.java b/code/src/main/java/com/codeforces/commons/text/StringUtil.java index 4fcb6d0..4f28fa8 100644 --- a/code/src/main/java/com/codeforces/commons/text/StringUtil.java +++ b/code/src/main/java/com/codeforces/commons/text/StringUtil.java @@ -66,7 +66,7 @@ public final class StringUtil { private static final Logger logger = Logger.getLogger(StringUtil.class); private static final Pattern FORMAT_COMMENTS_COMMENT_SPLIT_PATTERN = Pattern.compile("\\[pre]|\\[/pre]"); - private static final Pattern FORMAT_COMMENTS_LINE_BREAK_REPLACE_PATTERN = Pattern.compile("[\n\r][\n\r]+"); + private static final Pattern FORMAT_COMMENTS_LINE_BREAK_REPLACE_PATTERN = Pattern.compile("[\n\r][\\s\\u200B]*[\n\r]+"); private static final Map toStringConverterByClass = new HashMap<>(); private static final ReadWriteLock toStringConverterByClassMapLock = new ReentrantReadWriteLock();