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 {