全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  千锋问问

Java字符串中都包含数字怎么操作

问题描述:Java字符串中都包含数字怎么操作

推荐答案 本回答由问问达人推荐

  要对包含数字的字符串进行排序,可以使用自定义比较器来实现按照字符串中数字的大小进行排序。下面是一种实现方式:

千锋教育

  import java.util.Arrays;

  import java.util.Comparator;

  class CustomComparator implements Comparator {

  @Override

  public int compare(String str1, String str2) {

 

  // 提取字符串中的数字部分进行比较

  int num1 = Integer.parseInt(str1.replaceAll("\\D", ""));

  int num2 = Integer.parseInt(str2.replaceAll("\\D", ""));

  return num1 - num2;

  }

  }

  public class StringSorting {

  public static void main(String[] args) {

  String[] strings = {"apple3", "banana12", "orange5"};

  Arrays.sort(strings, new CustomComparator());

  for (String str : strings) {

  System.out.println(str);

  }

  }

  }

 

  在上述示例中,我们定义了一个自定义比较器CustomComparator,它通过使用replaceAll()方法和正则表达式\\D来移除字符串中的非数字字符,然后将提取到的数字部分转换为整数。然后,我们使用Arrays.sort()方法与自定义比较器一起对字符串数组进行排序,并输出排序后的结果。

  输出结果为:

  apple3

  orange5

  banana12

 

  以上代码通过提取字符串中的数字部分来进行排序,如果字符串中没有数字,则按照普通的字典顺序进行排序。

查看其它两个剩余回答
在线咨询 免费试学 教程领取