java如何拆分字符串,以每三个数字为标准拆啊 用java如何实现将一些数字分割成每三个一对然后存入数组中 ...
java\u5982\u4f55\u62c6\u5206\u5b57\u7b26\u4e32java\u62c6\u5206\u5b57\u7b26\u4e32\u4f7f\u7528string\u7c7b\u7684spilt\u65b9\u6cd5\uff0c\u9488\u5bf9\u67d0\u4e2a\u5206\u9694\u7b26\u6765\u5206\u5272\u4e00\u4e2a\u5b57\u7b26\u4e32\uff0c\u793a\u4f8b\u5982\u4e0b\uff1a
public class StringSplit { public static void main(String[] args) { String sourceStr = "1,2,3,4,5";//\u4e00\u4e2a\u5b57\u7b26\u4e32 String[] sourceStrArray = sourceStr.split(",");//\u5206\u5272\u51fa\u6765\u7684\u5b57\u7b26\u6570\u7ec4 for (int i = 0; i < sourceStrArray.length; i++) { System.out.println(sourceStrArray[i]); } // \u6700\u591a\u5206\u5272\u51fa3\u4e2a\u5b57\u7b26\u4e32 int maxSplit = 3; sourceStrArray = sourceStr.split(",", maxSplit); for (int i = 0; i < sourceStrArray.length; i++) { System.out.println(sourceStrArray[i]); } }}\u8f93\u51fa\u7ed3\u679c\u4e3a\uff1a
2
4
1
3,4,5
String str = "123648945819399529s";String[] arr = new String[str.length() / 3 == 0 ? str.length() / 3 : str.length() / 3 + 1];int index = 0;for(int i=0; i str.length()){arr[i] = str.substring(index);}else{arr[i] = str.substring(index,(index = index+3));}}//\u6253\u5370\u6570\u7ec4System.out.println(java.util.Arrays.toString(arr));
先看个例子
import java.util.Arrays;
public class $ {
public static void main(String[] args) {
test("0123456");
test("01a2345");
test("012345");
}
private static void test(String str) {
String[] s = str.split("[0-9]{3}");
System.out.println(Arrays.toString(s));
}
}
结果:
[, , 6]
[01a, 5]
[]
再分析下结果:
结论:找到匹配的字符串,将他左面的和右面的放进数组,而他本身不体现在数组里面。
上面的第一个结果,012匹配,找345也匹配,所以结果是6
第二个结果,找到234,左面的和右面的01a,5,组成数组
第三个结果,找到012,再找345,都匹配,所以结果是空
你的需求,建议使用字符串截取的方法,方便简单,有时候最笨的方法可能是最有效的方法。
你这个是按照指定的格式分割,也就是每三个数字都去掉,保留其他的部分。
想想
String a="1,2,3,4,5";
这样如果
String []s=a.split(",");
就是得到数组 12345
去掉了逗号
你这个也是一个道理。
想要获得每三个数字,要么用正则匹配,要么直接用subString
用subString方法来做吧,比较简单
绛旓細String.split("\\\"),鍥犱负鍦Java涓鏄敤"\\"鏉ヨ〃绀"\"鐨,瀛楃涓插緱鍐欐垚杩欐牱锛歋tring Str="a\\b\\c";杞箟瀛楃,蹇呴』寰楀姞"\\";3銆佸湪涓涓瓧绗︿覆涓湁澶氫釜鍒嗛殧绗,鍙互鐢"|"浣滀负杩炲瓧绗,姣斿锛歋tring str="Java string-split#test",鍙互鐢⊿tr.split(" |-|#")鎶姣忎釜瀛楃涓鍒嗗紑;...
绛旓細s.split(".")鏄鍦ㄨ繖涓瀛楃涓涓紝浠栦滑鏄敤鐐圭浉闅旂殑锛岀敤杩欎釜鍑芥暟鍙互鎻愬彇鍑姣忎釜鍗曠嫭鐨勬暟鎹 閫氬父浼氭湁csv鏂囦欢锛屽唴瀹瑰氨鏄敤閫楀彿闅斿紑锛歷alue1,value2,value3,value4.鑰岄氬父浼氬崟鐙鍙栭偅浜涘瓧娈碉紝涓嶉渶瑕佽鍙閫楀彿锛鎵浠ョ敤split杩欎釜鍑芥暟鍦ㄨ繖涓緥瀛愪腑鏄緢濂界殑 杩斿洖鐨勬槸涓涓猄tring鏁扮粍銆傚洜涓哄垎闅斿嚭鏉ユ湁寰堝鍢泘浣...
绛旓細鐢―ecimalFormat鏍煎紡鍖栨暟瀛楀惂 String str = "1234567890";DecimalFormat df = new DecimalFormat("#,###");System.out.println(df.format(Double.parseDouble(str)));缁撴灉 1,234,567,890
绛旓細瀛楃涓插垏鍒嗗彲鐢ㄥ埌split鏂规硶锛涚ず渚嬩唬鐮侊細杈撳嚭缁撴灉锛氭敞鎰忎簨椤癸細1.瀛楃"|","*","+"閮藉緱鍔犱笂杞箟瀛楃锛鍓嶉潰鍔犱笂"\\"銆2.鑰屽鏋滄槸"\"锛岄偅涔堝氨寰楀啓鎴"\\\"銆3.濡傛灉涓涓瓧绗︿覆涓湁澶氫釜鍒嗛殧绗︼紝鍙互鐢"|"浣滀负杩炲瓧绗︺
绛旓細java涓鍒嗛殧瀛楃涓鐨勬柟寮忔湁涓ょ銆係tringTokenizer 鍜 split銆 涓銆丼tringTokenizer锛//countTokens()鏂规硶 锛 //hasMoreTokens()鏂规硶 锛//nextToken()鏂规硶 String str = "tom,jack,lucy"; StringTokenizer commaToker = new StringTokenizer(str, ",");String[] result = new String[commaToker....
绛旓細鍒嗚绗︽槸"\r"锛屽氨鍒╃敤"\r"鏉鍒嗗壊瀛楃涓灏辫浜 String test = "first\rsecond\rthird";String[] arr = test.split("\r");System.out.print(arr[0] + ", " + arr[1] + ", " + arr[2]);
绛旓細java灏瀛楃涓姣忛殧2涓鍒嗗壊骞剁敤绌烘牸闅斿紑瀛樺叆鏁扮粍鐨勪緥瀛愬涓嬶細String str = "abcdefchakdjfkdjfks";//瀛楃涓瞚nt m=str.length()/2;if(m*2<str.length()){m++;}String[] strs=new String[m];int j=0;for(int i=0;i<str.length();i++){if(i%2==0){//姣忛殧涓や釜strs[j]=""+str...
绛旓細public static void main(String[] args) {String s = "ab cde fg";String[] re = s.split(" ");//鐢╯plit()鍑芥暟鐩存帴鍒嗗壊for (String string : re) {System.out.println(string);}}鐢╯plit()鍑芥暟鐩存帴鍒嗗壊
绛旓細涓嬮潰涓ょ鏂规硶鍧囧彲浠ユ妸涓涓瓧绗︿覆鍒嗗壊鎴愬涓瓧绗︿覆 涓銆Java 鐭ヨ瘑琛ュ厖 String鐨剆plit鏂规硶鏀寔姝e垯琛ㄨ揪寮忥紱姝e垯琛ㄨ揪寮廫s琛ㄧず鍖归厤浠讳綍绌虹櫧瀛楃锛+琛ㄧず鍖归厤涓娆℃垨澶氭銆傛湁浜嗕互涓婅ˉ鍏呯煡璇嗭紝涓嬮潰鐨勫唴瀹瑰氨寰堝ソ鐞嗚В浜嗐備竴銆佸緟鍒嗗壊瀛楃涓 寰呭垎鍓插瓧绗︿覆涓哄涓嬶細String str = "a b c d e f g"鍏朵腑锛屽瓧...
绛旓細杈撳叆浠ヤ笅缂栫爜锛歋tring sq="a_b_c_d";String[] chrstr = sq.getSelectors().split("_");Java锛氭槸涓绉嶅彲浠ユ挵鍐欒法骞冲彴搴旂敤绋嬪簭鐨勯潰鍚戝璞$殑绋嬪簭璁捐璇█銆侸ava 鎶鏈叿鏈夊崜瓒婄殑閫氱敤鎬с侀珮鏁堟с佸钩鍙扮Щ妞嶆у拰瀹夊叏鎬э紝骞挎硾搴旂敤浜嶱C銆佹暟鎹腑蹇冦佹父鎴忔帶鍒跺彴銆佺瀛﹁秴绾ц绠楁満銆佺Щ鍔ㄧ數璇濆拰浜掕仈缃戯紝鍚屾椂鎷ユ湁...