介紹
Strmen-java是一個字符串處理工具,你可以通過maven將它引入到項目中。Strmen-java為我們提供了一個非常完整且強大的解決方案,使用它可以解決幾乎所有字符串處理場景。
使用
為了能在你的Java應用程序中使用strman-java,可以把這個包下載下來添加到你項目的lib目錄中,如果使用的是Maven做項目管理,則只需要在你的pom.xml
中加入如下依賴即可:
1
2
3
4
5
6
|
<dependency> <groupId>com.shekhargulati</groupId> <artifactId>strman</artifactId> <version> 0.2 . 0 </version> <type>jar</type> </dependency> |
如果是Gradle用戶則在build.gradle
文件中添加如下代碼:
1
2
3
|
compile(group: 'com.shekhargulati' , name: 'strman' , version: '0.2.0' , ext: 'jar' ){ transitive= true } |
示例
下面便是Strman-java的使用示例:
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
|
import strman.Strman; import java.util.Arrays; import java.util.Optional; /** * strman-java包的測試使用類 * Created by blinkfox on 16/7/17. */ public class StrmanTest { public static void main(String[] args) { // append 在一個字符串后追加任意個數的字符串 String s1 = Strman.append( "f" , "o" , "o" , "b" , "a" , "r" ); System.out.println( "append:" + s1); // result => "foobar" // prepend 在一個字符串前追加任意個數的字符串 String s1pre = Strman.prepend( "r" , "f" , "o" , "o" , "b" , "a" ); System.out.println( "prepend:" + s1pre); // result => "foobar" // appendArray 在一個字符串后先后追加一個字符串數組中的元素 String s2 = Strman.appendArray( "f" , new String[]{ "o" , "o" , "b" , "a" , "r" }); System.out.println( "append:" + s2); // result => "foobar" // at 根據字符串的索引獲取到對應的字符。如果索引是負數,則逆向獲取,超出則拋出異常 Optional<String> s3 = Strman.at( "foobar" , 3 ); System.out.println( "at:" + s3.get()); // result => "b" // between 得到一個字符串中,開始字符串和結束字符串之間的字符串的數組 String[] s4 = Strman.between( "[abc], [def]" , "[" , "]" ); System.out.println( "between:" + Arrays.toString(s4)); // result => "[abc, def]" // chars 得到一個字符串中所有字符構成的字符串數組 String[] s5 = Strman.chars( "title" ); System.out.println( "chars:" + Arrays.toString(s5)); // result => "[t, i, t, l, e]" // collapseWhitespace 替換掉連續的多個空格為一個空格 String s6 = Strman.collapseWhitespace( "foo bar" ); System.out.println( "chars:" + s6); // result => "foo bar" // contains 判斷一個字符串是否包含另外一個字符串,第三個參數,表示字符串大小寫是否敏感 boolean s7 = Strman.contains( "foo bar" , "foo" ); boolean s8 = Strman.contains( "foo bar" , "FOO" , false ); System.out.println( "contains:" + s7 + ", " + s8); // result => "true, true" // containsAll 判斷一個字符串是否包含某字符串數組中的所有元素 boolean s9 = Strman.containsAll( "foo bar" , new String[]{ "foo" , "bar" }); boolean s10 = Strman.containsAll( "foo bar" , new String[]{ "FOO" , "bar" }, false ); System.out.println( "containsAll:" + s9 + ", " + s10); // result => "true, true" // containsAny 判斷一個字符串是否包含某字符串數組中的任意一個元素 boolean s11 = Strman.containsAny( "foo bar" , new String[]{ "FOO" , "BAR" , "Test" }, false ); System.out.println( "containsAny:" + s11); // result => "true" // countSubstr 判斷一個字符串包含某字符串的個數 long s12 = Strman.countSubstr( "aaaAAAaaa" , "aaa" ); long s13 = Strman.countSubstr( "aaaAAAaaa" , "aaa" , false , false ); System.out.println( "countSubstr:" + s12 + ", " + s13); // result => "2, 3" // endsWith 判斷一個字符串是否以某個字符串結尾 boolean s14 = Strman.endsWith( "foo bar" , "bar" ); boolean s15 = Strman.endsWith( "foo bar" , "BAR" , false ); System.out.println( "endsWith:" + s14 + ", " + s15); // result => "true, true" // ensureLeft 確保一個字符串以某個字符串開頭,如果不是,則在前面追加該字符串,并將字符串結果返回 String s16 = Strman.ensureLeft( "foobar" , "foo" ); String s17 = Strman.ensureLeft( "bar" , "foo" ); String s18 = Strman.ensureLeft( "foobar" , "FOO" , false ); System.out.println( "ensureLeft:" + s16 + ", " + s17 + ", " + s18); // result => "foobar, foobar, foobar" // ensureRight 確保一個字符串以某個字符串開頭,如果不是,則在前面追加該字符串,并將字符串結果返回 String s16r = Strman.ensureRight( "foobar" , "bar" ); String s17r = Strman.ensureRight( "foo" , "bar" ); String s18r = Strman.ensureRight( "fooBAR" , "bar" , false ); System.out.println( "ensureRight:" + s16r + ", " + s17r + ", " + s18r); // result => "foobar, foobar, fooBAR" // base64Encode 將字符串轉成Base64編碼的字符串 String s19 = Strman.base64Encode( "strman" ); System.out.println( "base64Encode:" + s19); // result => "c3RybWFu" // binDecode 將二進制編碼(16位)轉成字符串字符 String s20 = Strman.binDecode( "0000000001000001" ); System.out.println( "binDecode:" + s20); // result => "A" // binEncode 將字符串字符轉成二進制編碼(16位) String s21 = Strman.binEncode( "A" ); System.out.println( "binEncode:" + s21); // result => "0000000001000001" // decDecode 將十進制編碼(5位)轉成字符串字符 String s22 = Strman.decDecode( "00065" ); System.out.println( "decDecode:" + s22); // result => "A" // decEncode 將字符串轉成十進制編碼(5位) String s23 = Strman.decEncode( "A" ); System.out.println( "decEncode:" + s23); // result => "00065" // first 得到從字符串開始到索引n的字符串 String s24 = Strman.first( "foobar" , 3 ); System.out.println( "first:" + s24); // result => "foo" // last 得到從字符串結尾倒數索引n的字符串 String s24l = Strman.last( "foobar" , 3 ); System.out.println( "last:" + s24l); // result => "bar" // head 得到字符串的第一個字符 String s25 = Strman.head( "foobar" ); System.out.println( "head:" + s25); // result => "f" // hexDecode 將字符串字符轉成十六進制編碼(4位) String s26 = Strman.hexDecode( "0041" ); System.out.println( "hexDecode:" + s26); // result => "A" // hexEncode 將十六進制編碼(4位)轉成字符串字符 String s27 = Strman.hexEncode( "A" ); System.out.println( "hexEncode:" + s27); // result => "0041" // inequal 測試兩個字符串是否相等 boolean s28 = Strman.inequal( "a" , "b" ); System.out.println( "inequal:" + s28); // result => "true" // insert 將子字符串插入到字符串某索引位置處 String s29 = Strman.insert( "fbar" , "oo" , 1 ); System.out.println( "insert:" + s29); // result => "foobar" // leftPad 將字符串從左補齊直到總長度為n為止 String s30 = Strman.leftPad( "1" , "0" , 5 ); System.out.println( "leftPad:" + s30); // result => "00001" // rightPad 將字符串從右補齊直到總長度為n為止 String s30r = Strman.rightPad( "1" , "0" , 5 ); System.out.println( "rightPad:" + s30r); // result => "10000" // lastIndexOf 此方法返回在指定值的最后一個發生的調用字符串對象中的索引,從偏移量中向后搜索 int s31 = Strman.lastIndexOf( "foobarfoobar" , "F" , false ); System.out.println( "lastIndexOf:" + s31); // result => "6" // leftTrim 移除字符串最左邊的所有空格 String s32 = Strman.leftTrim( " strman " ); System.out.println( "leftTrim:" + s32); // result => "strman " // rightTrim 移除字符串最右邊的所有空格 String s32r = Strman.rightTrim( " strman " ); System.out.println( "rightTrim:" + s32r); // result => " strman" // removeEmptyStrings 移除字符串數組中的空字符串 String[] s33 = Strman.removeEmptyStrings( new String[]{ "aa" , "" , " " , "bb" , "cc" , null }); System.out.println( "removeEmptyStrings:" + Arrays.toString(s33)); // result => "[aa, bb, cc]" // removeLeft 得到去掉前綴(如果存在的話)后的新字符串 String s34 = Strman.removeLeft( "foobar" , "foo" ); System.out.println( "removeLeft:" + s34); // result => "bar" // removeRight 得到去掉后綴(如果存在的話)后的新字符串 String s34r = Strman.removeRight( "foobar" , "bar" ); System.out.println( "removeRight:" + s34r); // result => "foo" // removeNonWords 得到去掉不是字符的字符串 String s35 = Strman.removeNonWords( "foo&bar-" ); System.out.println( "removeNonWords:" + s35); // result => "foobar" // removeSpaces 移除所有空格 String s36 = Strman.removeSpaces( " str man " ); System.out.println( "removeSpaces:" + s36); // result => " strman" // repeat 得到給定字符串和重復次數的新字符串 String s37 = Strman.repeat( "1" , 3 ); System.out.println( "repeat:" + s37); // result => "111" // reverse 得到反轉后的字符串 String s38 = Strman.reverse( "foobar" ); System.out.println( "reverse:" + s38); // result => "raboof" // safeTruncate 安全的截斷字符串,不切一個字的一半,它總是返回最后一個完整的單詞 String s39 = Strman.safeTruncate( "A Javascript string manipulation library." , 19 , "..." ); System.out.println( "safeTruncate:" + s39); // result => "A Javascript..." // truncate 不太安全的截斷字符串 String s40 = Strman.truncate( "A Javascript string manipulation library." , 19 , "..." ); System.out.println( "truncate:" + s40); // result => "A Javascript str..." // htmlDecode 將html字符反轉義 String s41 = Strman.htmlDecode( "Ш" ); System.out.println( "htmlDecode:" + s41); // result => "Ш" // htmlEncode 將html字符轉義 String s42 = Strman.htmlEncode( "Ш" ); System.out.println( "htmlEncode:" + s42); // result => "Ш" // shuffle 將給定字符串轉成隨機字符順序的字符串 String s43 = Strman.shuffle( "shekhar" ); System.out.println( "shuffle:" + s43); // result => "rhsheak" // slugify 將字符串分段(用"-"分段) String s44 = Strman.slugify( "foo bar" ); System.out.println( "slugify:" + s44); // result => "foo-bar" // transliterate 刪除所有非有效字符,如:á => a String s45 = Strman.transliterate( "fóõ bár" ); System.out.println( "transliterate:" + s45); // result => "foo bar" // surround 給定的“前綴”和“后綴”來包裹一個字符串 String s46 = Strman.surround( "div" , "<" , ">" ); System.out.println( "surround:" + s46); // result => "<div>" // tail 得到去掉第一個字符后的字符串 String s47 = Strman.tail( "foobar" ); System.out.println( "tail:" + s47); // result => "oobar" // toCamelCase 轉成駝峰式的字符串 String s48 = Strman.toCamelCase( "Camel Case" ); String s48_2 = Strman.toCamelCase( "camel-case" ); System.out.println( "tail:" + s48 + ", " + s48_2); // result => "camelCase, camelCase" // toStudlyCase 轉成Studly式的字符串 String s49 = Strman.toStudlyCase( "hello world" ); System.out.println( "toStudlyCase:" + s49); // result => "HelloWorld" // toDecamelize 轉成Decamelize式的字符串 String s50 = Strman.toDecamelize( "helloWorld" , null ); System.out.println( "toDecamelize:" + s50); // result => "hello world" // toKebabCase 轉成Kebab式的字符串 String s51 = Strman.toKebabCase( "hello World" ); System.out.println( "toKebabCase:" + s51); // result => "hello-world" // toSnakeCase 轉成Snake式的字符串 String s52 = Strman.toSnakeCase( "hello world" ); System.out.println( "toSnakeCase:" + s52); // result => "hello_world" } } |
總結
以上就是這篇文章的全部內容,希望能對大家的學習或者工作帶來一定的幫助,如果有疑問大家可以留言交流。