This is an automated email from the ASF dual-hosted git repository. afs pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/jena.git
commit 46ae1e887368398339bb36a66c3b86781e484ab4 Author: Andy Seaborne <[email protected]> AuthorDate: Tue May 26 15:48:39 2026 +0100 Add StrUtils.containsIgnoreCase --- .../src/main/java/org/apache/jena/atlas/lib/StrUtils.java | 13 +++++++++++++ .../test/java/org/apache/jena/atlas/lib/TestStrUtils.java | 10 ++++++++++ 2 files changed, 23 insertions(+) diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/StrUtils.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/StrUtils.java index 71d2a1458d..f7706bf152 100644 --- a/jena-base/src/main/java/org/apache/jena/atlas/lib/StrUtils.java +++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/StrUtils.java @@ -119,6 +119,19 @@ public class StrUtils //extends StringUtils return str1.contains(str2) ; } + /** + * Does one string, str1, contain another string, str2, ignoring the case of letters? + * + * @param str1 + * @param str2 + * @return true if str1 contains str2, ignoring the case of letters + */ + public static boolean containsIgnoreCase(String str1, String str2) { + str1 = Lib.uppercase(str1); + str2 = Lib.uppercase(str2); + return str1.contains(str2); + } + public final static String replace(String string, String target, String replacement) { return string.replace(target, replacement) ; } diff --git a/jena-base/src/test/java/org/apache/jena/atlas/lib/TestStrUtils.java b/jena-base/src/test/java/org/apache/jena/atlas/lib/TestStrUtils.java index 97d3d21c52..89c237884a 100644 --- a/jena-base/src/test/java/org/apache/jena/atlas/lib/TestStrUtils.java +++ b/jena-base/src/test/java/org/apache/jena/atlas/lib/TestStrUtils.java @@ -88,6 +88,16 @@ public class TestStrUtils assertEquals(expectedLastChar, lastChar); } + @Test public void contains_ignorecase_1() { + boolean b = StrUtils.containsIgnoreCase("foobar", "FOO"); + assertTrue(b); + } + + @Test public void contains_ignorecase_2() { + boolean b = StrUtils.containsIgnoreCase("foobar", "OO"); + assertTrue(b); + } + @Test public void prefix_ignorecase_1() { boolean b = StrUtils.strStartsWithIgnoreCase("foobar", "FOO"); assertTrue(b);
