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