-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathJSUtil.java
More file actions
43 lines (40 loc) · 1.02 KB
/
Copy pathJSUtil.java
File metadata and controls
43 lines (40 loc) · 1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package swingjs;
public class JSUtil {
/**
*
* proper splitting, even for Java 1.3 -- if the text ends in the run,
* no new line is appended.
*
* @param text
* @param run
* @return String array
*/
public static String[] split(String text, String run) {
if (text.length() == 0)
return new String[0];
int n = 1;
int i = text.indexOf(run);
String[] lines;
int runLen = run.length();
if (i < 0 || runLen == 0) {
lines = new String[1];
lines[0] = text;
return lines;
}
int len = text.length() - runLen;
for (; i >= 0 && i < len; n++)
i = text.indexOf(run, i + runLen);
lines = new String[n];
i = 0;
int ipt = 0;
int pt = 0;
for (; (ipt = text.indexOf(run, i)) >= 0 && pt + 1 < n;) {
lines[pt++] = text.substring(i, ipt);
i = ipt + runLen;
}
if (text.indexOf(run, len) != len)
len += runLen;
lines[pt] = text.substring(i, len);
return lines;
}
}