JAVA字符串分割,两个分隔符的,怎么实现? JAVA字符串分割,两个分隔符的,怎么实现
\u5982\u4f55\u6839\u636ejava\u6839\u636e\u6307\u5b9a\u7684\u5b57\u7b26\uff0c\u5206\u5272\u5b57\u7b26\u4e32\uff1f\u6839\u636ejava\u6839\u636e\u6307\u5b9a\u7684\u5b57\u7b26\uff0c\u5206\u5272\u5b57\u7b26\u4e32\u7684\u65b9\u6cd5\u662f\uff1aString temp[]=result.split(",");
\u5b57\u7b26\u4e32\u5206\u5272--java\u4e2dString.split()\u7528\u6cd5\uff1a
1\u3001\u201c.\u201d\u548c\u201c|\u201d\u90fd\u662f\u8f6c\u4e49\u5b57\u7b26\uff0c\u5fc5\u987b\u5f97\u52a0"\\";
\u5982\u679c\u7528\u201c.\u201d\u4f5c\u4e3a\u5206\u9694\u7684\u8bdd\uff0c\u5fc5\u987b\u662f\u5982\u4e0b\u5199\u6cd5\uff1aString.split("\\."),\u8fd9\u6837\u624d\u80fd\u6b63\u786e\u7684\u5206\u9694\u5f00\uff0c\u4e0d\u80fd\u7528String.split(".");
\u5982\u679c\u7528\u201c|\u201d\u4f5c\u4e3a\u5206\u9694\u7684\u8bdd\uff0c\u5fc5\u987b\u662f\u5982\u4e0b\u5199\u6cd5\uff1aString.split("\\|"),\u8fd9\u6837\u624d\u80fd\u6b63\u786e\u7684\u5206\u9694\u5f00\uff0c\u4e0d\u80fd\u7528String.split("|");
2\u3001\u5982\u679c\u5728\u4e00\u4e2a\u5b57\u7b26\u4e32\u4e2d\u6709\u591a\u4e2a\u5206\u9694\u7b26\uff0c\u53ef\u4ee5\u7528\u201c|\u201d\u4f5c\u4e3a\u8fde\u5b57\u7b26\uff0c\u6bd4\u5982\uff1a\u201cacount=? and uu =? or n=?\u201d,\u628a\u4e09\u4e2a\u90fd\u5206\u9694\u51fa\u6765\uff0c\u53ef\u4ee5\u7528\u3000String.split("and|or");
3\u3001public String[] split(String regex,int limit)\u6839\u636e\u5339\u914d\u7ed9\u5b9a\u7684\u6b63\u5219\u8868\u8fbe\u5f0f\u6765\u62c6\u5206\u6b64\u5b57\u7b26\u4e32\u3002\u6b64\u65b9\u6cd5\u8fd4\u56de\u7684\u6570\u7ec4\u5305\u542b\u6b64\u5b57\u7b26\u4e32\u7684\u6bcf\u4e2a\u5b50\u5b57\u7b26\u4e32\uff0c\u8fd9\u4e9b\u5b50\u5b57\u7b26\u4e32\u7531\u53e6\u4e00\u4e2a\u5339\u914d\u7ed9\u5b9a\u7684\u8868\u8fbe\u5f0f\u7684\u5b50\u5b57\u7b26\u4e32\u7ec8\u6b62\u6216\u7531\u5b57\u7b26\u4e32\u7ed3\u675f\u6765\u7ec8\u6b62\u3002\u6570\u7ec4\u4e2d\u7684\u5b50\u5b57\u7b26\u4e32\u6309\u5b83\u4eec\u5728\u6b64\u5b57\u7b26\u4e32\u4e2d\u7684\u987a\u5e8f\u6392\u5217\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u4e0d\u5339\u914d\u8f93\u5165\u7684\u4efb\u4f55\u90e8\u5206\uff0c\u5219\u7ed3\u679c\u6570\u7ec4\u53ea\u5177\u6709\u4e00\u4e2a\u5143\u7d20\uff0c\u5373\u6b64\u5b57\u7b26\u4e32\u3002
Java\u7684string\u5bf9\u8c61\u6709\u4e2asplit\u65b9\u6cd5\uff0c\u4f60\u6709\u4e24\u4e2a\u5c31\u8c03\u7528\u4e24\u6b21\uff0c\u8f93\u5165\u4e0d\u540c\u5206\u9694\u7b26\u5373\u53ef
s1.split(",|.");用正则表达式实现的。。。|表示或者。。。。
,|. 就是按逗号和点来分隔。。。。
另外,要用\\.来表示点。。。因为点在正则里面有特殊的含义。。表示任意一个字符。。。
希望对你有帮助。。。。仍有问题可以HI我。。。
|在java正则表达式就是一个特殊字符。
\在Java字符串是特殊字符。
所以\|是不能表达普通字符|在split()方法的。
只能转义2次
-----------------------------------
相信楼上2位连Java正则表达式 这个术语都没听说过吧!那String.split()方法的参数你们不懂也就不为奇了!
-----------------------------------》
\ 在Java中专门用来转义字符用的(务必牢记:\的作用是把紧跟其后一个字符转义)
编辑器识别的标准转义字符:
\b \t \n \f \r \" \' \\
非标准转义字符的场合,需要使用 \\ 来辅助转义
其实,LZ采用分割符为"|",这种用法是大忌啊
String.split方法,采用的是Java的正则表达式来分割字符串(参见javadoc)
因此慎用特殊字符啊
String.split方法(以及其它类似的需要使用正则表达式的场合)
常见的需要回避“找抽”的字符有: , \ | ^ * + ? ( ) { } [ ] 等等
如果实在想用的话,在split之类需要正则表达式的地方,必须采用转义:
\\\\ = 转义后的 \ (可用在split中) (这个最无耻)
\\. = 转义后的 . (可用在split中)
\\, = 转义后的 , (可用在split中)
\\| = 转义后的 | (可用在split中)
\\^ = 转义后的 ^ (可用在split中)
\\* = 转义后的 * (可用在split中)
......................................
你的正则表达式写错了,应该是[,\\.],这样就可以了
public class Test {
public static void main(String args[]) {
String s1 = "abc,de.f,gAB,CDE,FGH";
String str1[] = s1.split("[,\\.]");
for (int i = 0; i < str1.length; i++) {
System.out.println(str1[i]);
}
}
}
----------
abc
de
f
gAB
CDE
FGH
代码修改如下:
public class Test {
public static void main(String args[]){
String s1="abc,de.f,gAB,CDE,FGH";
String str1[]=s1.split(",|\\.");
for(int i=0;i<str1.length;i++){
System.out.println(str1[i]);
}
}
}
注意:
| 表示或者
.要用 \\. 来表示点
s1.replace(",",".")
然后
s1.split(".");
绛旓細java涓璖tring绫荤殑split鏂规硶鎺ュ彈姝e垯琛ㄨ揪寮忎綔涓哄弬鏁帮紝鎴戜滑鍙互浣跨敤姝e垯琛ㄨ揪寮忓疄鐜板涓鍒嗛殧绗杩涜鍒嗛殧鐨勬晥鏋溿傜ず渚嬩唬鐮佸涓嬶細import java.util.*;import java.lang.*;import java.io.*; /* Name of the class has to be "Main" only if the class is public. */class Ideone{ public static void ...
绛旓細class Test { public static void main(String[] args){ String str="adfaf bc dddd 33 40";String[] strs=str.split(" ");for(String element : strs)System.out.println(element);} } 浣犺鐨勬暟鎹篃灏辨槸鏁扮粍涓殑绗竴涓厓绱犱簡 ...
绛旓細split璁茶В锛java.lang.string.splitsplit 鏂规硶灏嗕竴涓瀛楃涓插垎鍓涓哄瓙瀛楃涓诧紝鐒跺悗灏嗙粨鏋滀綔涓哄瓧绗︿覆鏁扮粍杩斿洖銆俿tringObj.split([separator锛孾limit]])鍙傛暟stringObj 蹇呴夐」銆傝琚垎瑙g殑 String 瀵硅薄鎴栨枃瀛椼傝瀵硅薄涓嶄細琚 split 鏂规硶淇敼銆俿eparator 鍙夐」銆傚瓧绗︿覆鎴 姝e垯琛ㄨ揪寮 瀵硅薄锛屽畠鏍囪瘑浜鍒嗛殧瀛楃涓叉椂...
绛旓細java鍒嗛殧绗灏辨槸灏瀛楃涓插垎鍓鎴愬嚑娈靛皬鐨勫瓧绗︿覆鐨勭鍙锛屽垎闅旂鍙互鏄┖鏍硷紝閫楀彿锛#鍙风瓑绛変箣绫荤殑銆傛繁灞傛鏉ヨ锛屼粠鏌愮鎰忎箟涓婏紝鍚勭鍚勬牱鐨勭鍙烽兘鑳芥槸鍒嗛殧绗︺傚垎闅旂涓昏鐢ㄤ簬鎻愬彇鑷繁鎵闇瑕佺殑淇℃伅锛屾瘮濡傝矾寰勪腑鐨勬枃浠跺悕銆傘傘傝繖涓昏鏄熷姪split锛圫tring regex,int limit锛夊嚱鏁版潵瀹炵幇銆傘備笅闈㈡槸涓畝鍗曠殑渚嬪瓙锛...
绛旓細鏌ョ湅API锛宻pilt鍙互浣跨敤姝e垯琛ㄨ揪寮 String[]split(String regex)String s = "123-#-jjj";String[] s2 = s.split("-#-");
绛旓細split鏄寜鐓ф寚瀹氱殑瀛楃鍒嗗壊瀛楃涓蹭负瀛楃涓叉暟缁勶紝杩欓噷鐨鍒嗛殧绗姣旇緝鐗规畩锛屾槸.鎵浠ヨ鍔犲弽鏂滄潬杩涜杞箟锛屼篃灏辨槸杈惧埌鍒╃敤.鍒嗗壊瀛楃涓茬殑鏁堟灉銆傛瘮濡倄.y.z 璋冪敤split("\\.")鍚庡緱鍒版暟缁刐x,y,z]
绛旓細鍋囧鍒嗛殧绗鏄楀彿锛屼綘鍙互鐢╯plit 鎶瀛楃涓浠ラ楀彿鍒嗗紑鏀惧埌涓涓暟缁勪腑锛岀劧鍚庡幓姣忔鐢ㄦ暟缁勭殑绗竴涓厓绱犲拰鍚庨潰鐨勬瘮杈冿紝濡傛灉鍖归厤锛屽垯鎶婇偅涓垹鎺夛紝骞惰璁℃暟鍣ㄥ姞1銆傚彲浠ュ弬鑰冧笅闈㈢殑涓や釜浠g爜銆1.涓涓互a寮澶达紝浠缁撳熬鐨勮瘝鍑虹幇鐨勬鏁"鍑虹幇鐨勬鏁 import java.util.regex.*;Pattern p;Matcher m ;p = ...
绛旓細java String str = "Hello";char[] charArray = str.toCharArray; // str鐜板湪鏄竴涓瓧绗︽暟缁勶紝鍖呭惈"H", "e", "l", "l", "o"2. 浣跨敤split鏂规硶锛氬鏋滀綘闇瑕佸皢瀛楃涓叉寜鐓х壒瀹氱殑鍒嗛殧绗﹀垎鍓鎴愬涓瓙瀛楃涓诧紝鍙互浣跨敤String绫荤殑split鏂规硶銆傝繖涓柟娉曚細杩斿洖涓涓寘鍚墍鏈夊瓙瀛楃涓茬殑鏁扮粍銆備緥濡傦紝鍋囪...
绛旓細Java涓殑String绫绘彁渚涗簡涓涓猻plit鏂规硶锛屽彲浠ユ牴鎹寚瀹氱殑鍒嗛殧绗灏瀛楃涓插垎鍓鎴愬涓瓙涓诧紝骞惰繑鍥炰竴涓寘鍚繖浜涘瓙涓茬殑鏁扮粍銆傛垜浠彲浠ュ埄鐢ㄨ繖涓柟娉曟潵灏嗗瓧绗︿覆杞崲涓篖ist銆傚叿浣撴楠ゅ涓嬶細1. 棣栧厛锛屽畾涔変竴涓瓧绗︿覆锛岃繖涓瓧绗︿覆鏄敱澶氫釜瀛愪覆缁勬垚鐨勶紝瀛愪覆涔嬮棿浣跨敤鏌愪釜鐗瑰畾鐨勫垎闅旂杩涜鍒嗛殧銆2. 鐒跺悗锛岃皟鐢⊿tring绫荤殑...
绛旓細//杞寲涓烘暟缁 String[] items = str.split(";");List cache = new ArrayList();for(int i=0;i<items.length;i++){ String item = items[i];int count = 0;for(int j=0;j<items.length;j++){ if(item.equals(items[j])){ count++;} } if(count<2){ cache.add(items[i])...