一个字符串操作的问题 (56,1,4,2,6,10)去除第1个逗号及前面的数(1,4,2,6,10)再排序输出有什么简便点的方法? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 JAVA string类的方法split() 可以分 分开后 对第0个元素不管 剩下的几个元素进行排序 (Java 有自己的排序方法 忘了什么了) String类的split方法:split(String regex) :根据给定的正则表达式的匹配来拆分此字符串。Arrays类的:sort()方法排序楼主,你这贴发了两次了。。 是字符串排序还是数值排序String s = "(56,1,4,2,6,10)";Pattern p = Pattern.compile("\\d+");Matcher m = p.matcher(s);List<Integer> list = new ArrayList<Integer>();while (m.find()) { list.add(Integer.valueOf(m.group()));}list.remove(0);Integer[] si = list.toArray(new Integer[0]);Arrays.sort(si);StringBuilder sb = new StringBuilder();sb.append("(%d");for (int i=1; i<si.length; i++) { sb.append(",").append("%d");}sb.append(")");String ss = String.format(sb.toString(), si);System.out.println(ss); String str = "1011,10,101,1001,10001,100001"; String numm[] = str.split(","); for(int i=0;i<numm.length;i++){ System.out.println(numm[i]); } import java.util.Arrays;public class StringSplit{ public static void main(String[] args) { String s = "56,1,4,2,6,10"; String str[] = s.split(","); int[] num=new int[str.length-1]; for(int i=1,j=0;i<str.length ;i++,j++){ num[j]=Integer.valueOf(str[i]); } Arrays.sort(num); System.out.println(Arrays.toString(num)); }} /*(56,1,4,2,6,10)去除第1个逗号及前面的数(1,4,2,6,10)再排序输出有什么简便点的方法?*/import java.util.regex.Matcher;import java.util.regex.Pattern;import java.util.ArrayList;import java.util.Arrays;public class Test{ public static void main(String[] args){ String content = "(56,1,4,2,6,10)"; String result = getResult(content); System.out.println("result: " + result); } public static String getResult(String content){ String result = "("; String regex = "\\d+"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(content); ArrayList<Integer> list = new ArrayList<Integer>(); int index = 1;//control which is the first number to retain while(matcher.find()){ if(index ++ > 1){ list.add(Integer.valueOf(matcher.group(0))); } } Object[] oArray = list.toArray(); Arrays.sort(oArray); for(int i = 0 ; i < oArray.length ; i ++){ result += oArray[i]; if(i < oArray.length - 1){ result += ","; } } result += ")"; return result; }} java统计一个字符在字符串出现次数,重复的不算 java数据类型 在使用jsp标签的情况下怎么进行下拉框的数据回填呢? java中怎样调用oracle中返回的varchar2的值啊!!!! 虚心请教一个问题 eclipse的启动问题 小菜提问? 菜鸟问题 一个关于局域网的问题 double ShortDistance=sqrt(9);报错 怎样核对两个txt档之间的相同字词呢? jfreechart如何禁用默认的右键菜单并添加自己写的右键弹出菜单?
split(String regex) :根据给定的正则表达式的匹配来拆分此字符串。Arrays类的:sort()方法排序楼主,你这贴发了两次了。。
String s = "(56,1,4,2,6,10)";
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(s);
List<Integer> list = new ArrayList<Integer>();
while (m.find()) {
list.add(Integer.valueOf(m.group()));
}
list.remove(0);
Integer[] si = list.toArray(new Integer[0]);
Arrays.sort(si);
StringBuilder sb = new StringBuilder();
sb.append("(%d");
for (int i=1; i<si.length; i++) {
sb.append(",").append("%d");
}
sb.append(")");
String ss = String.format(sb.toString(), si);
System.out.println(ss);
String numm[] = str.split(",");
for(int i=0;i<numm.length;i++){
System.out.println(numm[i]);
}
import java.util.Arrays;
public class StringSplit
{
public static void main(String[] args)
{
String s = "56,1,4,2,6,10";
String str[] = s.split(",");
int[] num=new int[str.length-1];
for(int i=1,j=0;i<str.length ;i++,j++){
num[j]=Integer.valueOf(str[i]);
}
Arrays.sort(num);
System.out.println(Arrays.toString(num));
}
}
/*
(56,1,4,2,6,10)去除第1个逗号及前面的数(1,4,2,6,10)再排序输出有什么简便点的方法?
*/import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.ArrayList;
import java.util.Arrays;public class Test{
public static void main(String[] args){
String content = "(56,1,4,2,6,10)";
String result = getResult(content);
System.out.println("result: " + result);
} public static String getResult(String content){
String result = "(";
String regex = "\\d+";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(content);
ArrayList<Integer> list = new ArrayList<Integer>();
int index = 1;//control which is the first number to retain
while(matcher.find()){
if(index ++ > 1){
list.add(Integer.valueOf(matcher.group(0)));
}
}
Object[] oArray = list.toArray();
Arrays.sort(oArray);
for(int i = 0 ; i < oArray.length ; i ++){
result += oArray[i];
if(i < oArray.length - 1){
result += ",";
}
}
result += ")";
return result;
}
}