Index: src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRichTextString.java =================================================================== --- src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRichTextString.java (revisiĆ³n: 1765824) +++ src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRichTextString.java (copia de trabajo) @@ -75,7 +75,7 @@ * */ public class XSSFRichTextString implements RichTextString { - private static final Pattern utfPtrn = Pattern.compile("_x([0-9A-F]{4})_"); + private static final Pattern utfPtrn = Pattern.compile("_x([0-9A-Fa-f]{4})_"); private CTRst st; private StylesTable styles; Index: src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java =================================================================== --- src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java (revisiĆ³n: 1765824) +++ src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java (copia de trabajo) @@ -236,6 +236,11 @@ //_x000D_ is converted into carriage return assertEquals("abc\r2ef\r", rt.getString()); + // Test Lowercase case + CTRst st2 = CTRst.Factory.newInstance(); + st2.setT("abc_x000d_2ef_x000d_"); + XSSFRichTextString rt2 = new XSSFRichTextString(st2); + assertEquals("abc\r2ef\r", rt2.getString()); } public void testApplyFont_lowlevel(){