激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java8中字符串處理庫strman-java的使用示例

Java8中字符串處理庫strman-java的使用示例

2020-06-17 12:31daisy JAVA教程

除了Java本身的字符串處理方式外,我們還可以使用Apache Common Langs里的StringUtils來簡化String的操作。但以上兩種方式對于我們日常編程中最容易碰到的字符串處理來說,仍然顯得有些不足。所以這篇文章給大家介紹Java8中字符串處理

介紹

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("&SHcy;");
  System.out.println("htmlDecode:" + s41); // result => "Ш"
 
  // htmlEncode 將html字符轉義
  String s42 = Strman.htmlEncode("Ш");
  System.out.println("htmlEncode:" + s42); // result => "&SHcy;"
 
  // 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"
 }
 
}

總結

以上就是這篇文章的全部內容,希望能對大家的學習或者工作帶來一定的幫助,如果有疑問大家可以留言交流。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩手机在线观看 | wankzhd| 欧美一级毛片特黄黄 | 韩国精品一区二区三区四区五区 | 亚洲免费视频一区 | 成人午夜天堂 | 亚洲第一激情网 | 国产午夜免费视频 | 中文区永久区 | fc2成人免费人成在线观看播放 | 欧美成人影院 | 国产精品午夜未成人免费观看 | 久久99精品久久 | 欧美一级美国一级 | 成人在线视频免费观看 | 亚洲精品v天堂中文字幕 | 日韩av片在线播放 | 媚药按摩痉挛w中文字幕 | 精精国产xxxx视频在线野外 | 最新国产毛片 | 久久国产在线观看 | 一区二区三区欧美精品 | 国产99久久久久 | 欧美成年人视频在线观看 | 海角在线观看91一区二区 | 欧美国产精品久久 | caoporn国产一区二区 | 国产91久久精品一区二区 | 蜜桃视频在线免费播放 | 亚洲精品一区二区三区大胸 | 久久精品免费网站 | 亚洲第五色综合网 | 伊人在线| 午夜精品久久久久久久96蜜桃 | 日韩精品久久一区二区三区 | 欧美91看片特黄aaaa | 精品久久久久久久久久久久 | 小雪奶水翁胀公吸小说最新章节 | va视频在线 | 日韩av有码在线 | 国产一区二区午夜 |