Mercurial Hosting > luan
annotate src/luan/modules/StringLuan.java @ 1802:ca98dee04e08 default tip
add Parsers.json_null
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 21 Apr 2024 21:25:15 -0600 |
parents | 1725fdb6c4f5 |
children |
rev | line source |
---|---|
167
4c0131c2b650
merge luan/lib into modules
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
163
diff
changeset
|
1 package luan.modules; |
43
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
2 |
1649
f7e2df85fc0a
add String.digest_message
Franklin Schmidt <fschmidt@gmail.com>
parents:
1563
diff
changeset
|
3 import java.security.NoSuchAlgorithmException; |
757 | 4 import java.util.Arrays; |
1721
5c69d2e8bd75
no regex in String.find and String.split
Franklin Schmidt <fschmidt@gmail.com>
parents:
1718
diff
changeset
|
5 import goodjava.util.GoodUtils; |
48
64ecb7a3aad7
rename Lua to Luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
46
diff
changeset
|
6 import luan.Luan; |
64ecb7a3aad7
rename Lua to Luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
46
diff
changeset
|
7 import luan.LuanTable; |
64ecb7a3aad7
rename Lua to Luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
46
diff
changeset
|
8 import luan.LuanFunction; |
64ecb7a3aad7
rename Lua to Luan
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
46
diff
changeset
|
9 import luan.LuanException; |
43
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
10 |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
11 |
168
ebe9db183eb7
rename *Lib.java to *Luan.java
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
167
diff
changeset
|
12 public final class StringLuan { |
43
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
13 |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
14 static int start(String s,int i) { |
248
10cc873babee
fix StringIndexOutOfBoundsException
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
246
diff
changeset
|
15 int len = s.length(); |
10cc873babee
fix StringIndexOutOfBoundsException
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
246
diff
changeset
|
16 return i==0 ? 0 : i > 0 ? Math.min(i-1,len) : Math.max(len+i,0); |
43
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
17 } |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
18 |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
19 static int start(String s,Integer i,int dflt) { |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
20 return i==null ? dflt : start(s,i); |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
21 } |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
22 |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
23 static int end(String s,int i) { |
248
10cc873babee
fix StringIndexOutOfBoundsException
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
246
diff
changeset
|
24 int len = s.length(); |
10cc873babee
fix StringIndexOutOfBoundsException
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
246
diff
changeset
|
25 return i==0 ? 0 : i > 0 ? Math.min(i,len) : Math.max(len+i+1,0); |
43
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
26 } |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
27 |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
28 static int end(String s,Integer i,int dflt) { |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
29 return i==null ? dflt : end(s,i); |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
30 } |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
31 |
1335 | 32 public static Integer[] unicode(String s,Integer i,Integer j) throws LuanException { |
646
cdc70de628b5
simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents:
645
diff
changeset
|
33 Utils.checkNotNull(s); |
1505 | 34 int start = start(s,i,0); |
305
5e7450ac27f2
rename String.byte() to String.unicode();
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
302
diff
changeset
|
35 int end = end(s,j,start+1); |
5e7450ac27f2
rename String.byte() to String.unicode();
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
302
diff
changeset
|
36 Integer[] chars = new Integer[end-start]; |
5e7450ac27f2
rename String.byte() to String.unicode();
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
302
diff
changeset
|
37 for( int k=0; k<chars.length; k++ ) { |
5e7450ac27f2
rename String.byte() to String.unicode();
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
302
diff
changeset
|
38 chars[k] = (int)s.charAt(start+k); |
113
8c706d6eb5dc
add binary type
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
112
diff
changeset
|
39 } |
8c706d6eb5dc
add binary type
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
112
diff
changeset
|
40 return chars; |
8c706d6eb5dc
add binary type
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
112
diff
changeset
|
41 } |
8c706d6eb5dc
add binary type
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
112
diff
changeset
|
42 |
246
58752e3e4c5c
rename String.from_integers to char;
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
221
diff
changeset
|
43 public static String char_(int... chars) { |
113
8c706d6eb5dc
add binary type
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
112
diff
changeset
|
44 char[] a = new char[chars.length]; |
8c706d6eb5dc
add binary type
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
112
diff
changeset
|
45 for( int i=0; i<chars.length; i++ ) { |
8c706d6eb5dc
add binary type
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
112
diff
changeset
|
46 a[i] = (char)chars[i]; |
8c706d6eb5dc
add binary type
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
112
diff
changeset
|
47 } |
8c706d6eb5dc
add binary type
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
112
diff
changeset
|
48 return new String(a); |
43
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
49 } |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
50 |
1335 | 51 public static byte[] to_binary(String s) { |
360
cbb94a7c7a9e
allow mail attachments;
Franklin Schmidt <fschmidt@gmail.com>
parents:
305
diff
changeset
|
52 return s.getBytes(); |
cbb94a7c7a9e
allow mail attachments;
Franklin Schmidt <fschmidt@gmail.com>
parents:
305
diff
changeset
|
53 } |
cbb94a7c7a9e
allow mail attachments;
Franklin Schmidt <fschmidt@gmail.com>
parents:
305
diff
changeset
|
54 |
646
cdc70de628b5
simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents:
645
diff
changeset
|
55 public static String lower(String s) throws LuanException { |
cdc70de628b5
simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents:
645
diff
changeset
|
56 Utils.checkNotNull(s); |
43
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
57 return s.toLowerCase(); |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
58 } |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
59 |
646
cdc70de628b5
simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents:
645
diff
changeset
|
60 public static String upper(String s) throws LuanException { |
cdc70de628b5
simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents:
645
diff
changeset
|
61 Utils.checkNotNull(s); |
43
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
62 return s.toUpperCase(); |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
63 } |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
64 |
646
cdc70de628b5
simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents:
645
diff
changeset
|
65 public static String trim(String s) throws LuanException { |
cdc70de628b5
simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents:
645
diff
changeset
|
66 Utils.checkNotNull(s); |
271
82a3ebcfbafa
add internal tests
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
264
diff
changeset
|
67 return s.trim(); |
82a3ebcfbafa
add internal tests
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
264
diff
changeset
|
68 } |
82a3ebcfbafa
add internal tests
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
264
diff
changeset
|
69 |
646
cdc70de628b5
simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents:
645
diff
changeset
|
70 public static String reverse(String s) throws LuanException { |
cdc70de628b5
simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents:
645
diff
changeset
|
71 Utils.checkNotNull(s); |
43
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
72 return new StringBuilder(s).reverse().toString(); |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
73 } |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
74 |
1718
5603ee8e2a71
rename String.rep to String.repeated
Franklin Schmidt <fschmidt@gmail.com>
parents:
1717
diff
changeset
|
75 public static String repeated(String s,int n,String sep) { |
43
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
76 if( n < 1 ) |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
77 return ""; |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
78 StringBuilder buf = new StringBuilder(s); |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
79 while( --n > 0 ) { |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
80 if( sep != null ) |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
81 buf.append(sep); |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
82 buf.append(s); |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
83 } |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
84 return buf.toString(); |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
85 } |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
86 |
646
cdc70de628b5
simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents:
645
diff
changeset
|
87 public static String sub(String s,int i,Integer j) throws LuanException { |
cdc70de628b5
simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents:
645
diff
changeset
|
88 Utils.checkNotNull(s); |
43
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
89 int start = start(s,i); |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
90 int end = end(s,j,s.length()); |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
91 return s.substring(start,end); |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
92 } |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
93 |
1721
5c69d2e8bd75
no regex in String.find and String.split
Franklin Schmidt <fschmidt@gmail.com>
parents:
1718
diff
changeset
|
94 public static Object[] find(String s,String s2,Integer init) { |
43
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
95 int start = start(s,init,0); |
1721
5c69d2e8bd75
no regex in String.find and String.split
Franklin Schmidt <fschmidt@gmail.com>
parents:
1718
diff
changeset
|
96 int i = s.indexOf(s2,start); |
5c69d2e8bd75
no regex in String.find and String.split
Franklin Schmidt <fschmidt@gmail.com>
parents:
1718
diff
changeset
|
97 return i == -1 ? null : new Integer[]{i+1,i+s2.length()}; |
43
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
98 } |
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
99 |
79
805929c3c6e1
add string.format
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
77
diff
changeset
|
100 // note - String.format() is too stupid to convert between ints and floats. |
805929c3c6e1
add string.format
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
77
diff
changeset
|
101 public static String format(String format,Object... args) { |
805929c3c6e1
add string.format
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
77
diff
changeset
|
102 return String.format(format,args); |
805929c3c6e1
add string.format
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
77
diff
changeset
|
103 } |
805929c3c6e1
add string.format
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
77
diff
changeset
|
104 |
420 | 105 public static String encode(String s) { |
106 return Luan.stringEncode(s); | |
107 } | |
108 | |
646
cdc70de628b5
simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents:
645
diff
changeset
|
109 public static Number to_number(String s,Integer base) throws LuanException { |
cdc70de628b5
simplify LuanException
Franklin Schmidt <fschmidt@gmail.com>
parents:
645
diff
changeset
|
110 Utils.checkNotNull(s); |
448
8b2db645b9b2
move Luan.to_number to String
Franklin Schmidt <fschmidt@gmail.com>
parents:
443
diff
changeset
|
111 try { |
8b2db645b9b2
move Luan.to_number to String
Franklin Schmidt <fschmidt@gmail.com>
parents:
443
diff
changeset
|
112 if( base == null ) { |
8b2db645b9b2
move Luan.to_number to String
Franklin Schmidt <fschmidt@gmail.com>
parents:
443
diff
changeset
|
113 return Double.valueOf(s); |
8b2db645b9b2
move Luan.to_number to String
Franklin Schmidt <fschmidt@gmail.com>
parents:
443
diff
changeset
|
114 } else { |
8b2db645b9b2
move Luan.to_number to String
Franklin Schmidt <fschmidt@gmail.com>
parents:
443
diff
changeset
|
115 return Long.valueOf(s,base); |
8b2db645b9b2
move Luan.to_number to String
Franklin Schmidt <fschmidt@gmail.com>
parents:
443
diff
changeset
|
116 } |
8b2db645b9b2
move Luan.to_number to String
Franklin Schmidt <fschmidt@gmail.com>
parents:
443
diff
changeset
|
117 } catch(NumberFormatException e) {} |
8b2db645b9b2
move Luan.to_number to String
Franklin Schmidt <fschmidt@gmail.com>
parents:
443
diff
changeset
|
118 return null; |
8b2db645b9b2
move Luan.to_number to String
Franklin Schmidt <fschmidt@gmail.com>
parents:
443
diff
changeset
|
119 } |
8b2db645b9b2
move Luan.to_number to String
Franklin Schmidt <fschmidt@gmail.com>
parents:
443
diff
changeset
|
120 |
1721
5c69d2e8bd75
no regex in String.find and String.split
Franklin Schmidt <fschmidt@gmail.com>
parents:
1718
diff
changeset
|
121 public static String[] split(String s,String s2,Integer limit) throws LuanException { |
757 | 122 Utils.checkNotNull(s); |
1721
5c69d2e8bd75
no regex in String.find and String.split
Franklin Schmidt <fschmidt@gmail.com>
parents:
1718
diff
changeset
|
123 Utils.checkNotNull(s2,2); |
1195 | 124 int n = limit==null ? -1 : limit; |
1721
5c69d2e8bd75
no regex in String.find and String.split
Franklin Schmidt <fschmidt@gmail.com>
parents:
1718
diff
changeset
|
125 return GoodUtils.split(s,s2,n); |
757 | 126 } |
127 | |
1649
f7e2df85fc0a
add String.digest_message
Franklin Schmidt <fschmidt@gmail.com>
parents:
1563
diff
changeset
|
128 public static String digest_message(String algorithm,String input) throws LuanException, NoSuchAlgorithmException { |
f7e2df85fc0a
add String.digest_message
Franklin Schmidt <fschmidt@gmail.com>
parents:
1563
diff
changeset
|
129 Utils.checkNotNull(algorithm,1); |
f7e2df85fc0a
add String.digest_message
Franklin Schmidt <fschmidt@gmail.com>
parents:
1563
diff
changeset
|
130 Utils.checkNotNull(input,2); |
f7e2df85fc0a
add String.digest_message
Franklin Schmidt <fschmidt@gmail.com>
parents:
1563
diff
changeset
|
131 return BinaryLuan.to_hex( BinaryLuan.digest_message( algorithm, input.getBytes() ) ); |
f7e2df85fc0a
add String.digest_message
Franklin Schmidt <fschmidt@gmail.com>
parents:
1563
diff
changeset
|
132 } |
f7e2df85fc0a
add String.digest_message
Franklin Schmidt <fschmidt@gmail.com>
parents:
1563
diff
changeset
|
133 |
1716 | 134 public static boolean contains(String s,String s2) throws LuanException { |
135 Utils.checkNotNull(s); | |
136 Utils.checkNotNull(s2,2); | |
137 return s.contains(s2); | |
138 } | |
139 | |
140 public static boolean starts_with(String s,String s2) throws LuanException { | |
141 Utils.checkNotNull(s); | |
142 Utils.checkNotNull(s2,2); | |
143 return s.startsWith(s2); | |
144 } | |
145 | |
146 public static boolean ends_with(String s,String s2) throws LuanException { | |
147 Utils.checkNotNull(s); | |
148 Utils.checkNotNull(s2,2); | |
149 return s.endsWith(s2); | |
150 } | |
1778 | 151 |
1777
e59349d53fec
optimize String.replace and regex.gsub
Franklin Schmidt <fschmidt@gmail.com>
parents:
1722
diff
changeset
|
152 public static String replace(String s,String target,String replacement) throws LuanException { |
e59349d53fec
optimize String.replace and regex.gsub
Franklin Schmidt <fschmidt@gmail.com>
parents:
1722
diff
changeset
|
153 Utils.checkNotNull(s); |
e59349d53fec
optimize String.replace and regex.gsub
Franklin Schmidt <fschmidt@gmail.com>
parents:
1722
diff
changeset
|
154 Utils.checkNotNull(target,2); |
e59349d53fec
optimize String.replace and regex.gsub
Franklin Schmidt <fschmidt@gmail.com>
parents:
1722
diff
changeset
|
155 Utils.checkNotNull(replacement,3); |
1778 | 156 return GoodUtils.replace(s,target,replacement); |
1777
e59349d53fec
optimize String.replace and regex.gsub
Franklin Schmidt <fschmidt@gmail.com>
parents:
1722
diff
changeset
|
157 } |
1717 | 158 |
43
80b67b1a653c
implement string lib
fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
parents:
diff
changeset
|
159 } |