Mercurial Hosting > luan
diff src/luan/modules/StringLuan.java @ 1721:5c69d2e8bd75
no regex in String.find and String.split
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Tue, 26 Jul 2022 12:44:52 -0600 |
parents | 5603ee8e2a71 |
children | 7d2ab44f7a59 |
line wrap: on
line diff
--- a/src/luan/modules/StringLuan.java Mon Jul 25 17:31:50 2022 -0600 +++ b/src/luan/modules/StringLuan.java Tue Jul 26 12:44:52 2022 -0600 @@ -4,6 +4,7 @@ import java.util.Arrays; import java.util.regex.Pattern; import java.util.regex.Matcher; +import goodjava.util.GoodUtils; import luan.Luan; import luan.LuanTable; import luan.LuanFunction; @@ -92,23 +93,10 @@ return s.substring(start,end); } - public static Object[] find(String s,String pattern,Integer init,Boolean plain) { + public static Object[] find(String s,String s2,Integer init) { int start = start(s,init,0); - if( Boolean.TRUE.equals(plain) ) { - int i = s.indexOf(pattern,start); - return i == -1 ? null : new Integer[]{i+1,i+pattern.length()}; - } - Matcher m = Pattern.compile(pattern).matcher(s); - if( !m.find(start) ) - return null; - int n = m.groupCount(); - Object[] rtn = new Object[2+n]; - rtn[0] = m.start() + 1; - rtn[1] = m.end(); - for( int i=0; i<n; i++ ) { - rtn[2+i] = m.group(i+1); - } - return rtn; + int i = s.indexOf(s2,start); + return i == -1 ? null : new Integer[]{i+1,i+s2.length()}; } public static String[] match(String s,String pattern,Integer init) { @@ -231,11 +219,11 @@ return Pattern.compile(pattern).matcher(s).find(); } - public static String[] split(String s,String pattern,Integer limit) throws LuanException { + public static String[] split(String s,String s2,Integer limit) throws LuanException { Utils.checkNotNull(s); - Utils.checkNotNull(pattern,2); + Utils.checkNotNull(s2,2); int n = limit==null ? -1 : limit; - return s.split(pattern,n); + return GoodUtils.split(s,s2,n); } public static String digest_message(String algorithm,String input) throws LuanException, NoSuchAlgorithmException {