字符串分割 把“abc我AD中国人”这个字符串分隔开,汉字与英文分开,结果分别是 “abc”,“我”,“AD”,“中国人 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var str = "abc我AD中国人"; str = str.replace(/(\w+|[\u4e00-\u9fa5]+)/g,"$1,"); alert(str) public class Test { public static void main(String[] args) { String str = "abc我AD中国人"; String[] strs = str.split("(?<=[a-zA-Z])(?=[\\p{InCJK Unified Ideographs}&&\\P{Cn}])|(?<=[\\p{InCJK Unified Ideographs}&&\\P{Cn}])(?=[a-zA-Z])"); for(int i = 0; i < strs.length; i++) { System.out.println(strs[i]); } }} 请问大虾,如果我这里面有数字貌似就不行了,比如 "abc我123AD中国人",数字当成字母,结果为abc,我,123AD,中国人 谢谢 哦,。。知道了。呵呵。是这样把:String[] strs = str.split("(?<=[a-zA-Z0-9])(?=[\\p{InCJK Unified Ideographs}&&\\P{Cn}])|(?<=[\\p{InCJK Unified Ideographs}&&\\P{Cn}])(?=[a-zA-Z0-9])")但是你这正则我看不太懂,结构是(字母)(汉字)|(汉字)(字母),这个懂但是里面写的?<=以及?=这些看不懂。郁闷呢 用这种方式不行吗?public class SplitDemo { String str; int bytes; private void splitMethod(String str, int bytes) { int loopCount = str.length() % bytes == 0 ? str.length() / bytes : str.length() / bytes + 1; for (int i = 1; i < loopCount; i++) { if (i == loopCount) { System.out.println((str.substring((i - 1) * bytes, str.length()))); } else { System.out.println((str.substring((i - 1) * bytes, i * bytes))); } } } public static void main(String[] args) { String s = "ASDFDF的函34343数"; SplitDemo sd = new SplitDemo(); sd.splitMethod(s, 2); }} 怎样替换字符串 问大家一个简单的问题。很迷茫。。。。 为什么SWT里Radio样式的MenuItem在被取消选中时也会产生Selection事件 SWT中tableItem的问题 关于Java的两个小问题 使用swing时的奇怪现象 请问,1,2,3,4,5,7,9,10,11,12,17这样一个数列,我要把它显示成1-7,9-12,17这样的一个形式,如何处理? 100分请教ftpclient类文件上传问题~~~ <<21天学会java>>上的问题。关于流 【求助】当scanner.nextLine()读了一行空时,返回的String是什么 一道SCJP考试题 JAVA中的日期处理
var str = "abc我AD中国人";
str = str.replace(/(\w+|[\u4e00-\u9fa5]+)/g,"$1,");
alert(str)
String str = "abc我AD中国人";
String[] strs = str.split("(?<=[a-zA-Z])(?=[\\p{InCJK Unified Ideographs}&&\\P{Cn}])|(?<=[\\p{InCJK Unified Ideographs}&&\\P{Cn}])(?=[a-zA-Z])"); for(int i = 0; i < strs.length; i++) {
System.out.println(strs[i]);
}
}
}
谢谢
String[] strs = str.split("(?<=[a-zA-Z0-9])(?=[\\p{InCJK Unified Ideographs}&&\\P
{Cn}])|(?<=[\\p{InCJK Unified Ideographs}&&\\P{Cn}])(?=[a-zA-Z0-9])")
但是你这正则我看不太懂,结构是(字母)(汉字)|(汉字)(字母),这个懂但是里面写的?<=以及?=这些看不懂。郁闷呢
String str;
int bytes; private void splitMethod(String str, int bytes) {
int loopCount = str.length() % bytes == 0 ? str.length() / bytes : str.length() / bytes + 1;
for (int i = 1; i < loopCount; i++) {
if (i == loopCount) {
System.out.println((str.substring((i - 1) * bytes, str.length())));
} else {
System.out.println((str.substring((i - 1) * bytes, i * bytes)));
}
}
} public static void main(String[] args) {
String s = "ASDFDF的函34343数";
SplitDemo sd = new SplitDemo();
sd.splitMethod(s, 2);
}
}