Java 正在从文件中拆分字符串

Java 正在从文件中拆分字符串,java,regex,string,Java,Regex,String,我要从文件中加载一个字符串: JC 10D 6S 7S 7C 9H 8C KC 2H 为此,我使用scanner的scan.next(),这样每次只能得到一个表达式 如何将这些表达式拆分为字符串 例如,JC分为“J”和“C” 我试着做charAt(),但我意识到将10D拆分为“10”和“D”可能会有问题,因为我只是从文件中读取它。 我是否应该尝试使用String.split()?但是,我不知道如何使用正则表达式,所以实现必须简单。 谢谢 它实际上是卡片的数据。10D代表10钻石,JC杰克俱乐部

我要从文件中加载一个字符串:

JC 10D 6S 7S 7C 9H 8C KC 2H
为此,我使用scanner的
scan.next()
,这样每次只能得到一个表达式

如何将这些表达式拆分为字符串

例如,JC分为“J”和“C”

我试着做charAt(),但我意识到将10D拆分为“10”和“D”可能会有问题,因为我只是从文件中读取它。 我是否应该尝试使用String.split()?但是,我不知道如何使用正则表达式,所以实现必须简单。 谢谢


它实际上是卡片的数据。10D代表10钻石,JC杰克俱乐部

因为您知道您将得到两个部分,所以可以通过两次调用os方法来完成:

  • 第一个调用为初始
    length()-1
    字母生成一个子字符串
  • 第二个调用为最后一个字母生成子字符串


它实际上是卡片的数据。10D代表10钻石,JC杰克俱乐部

因为您知道您将得到两个部分,所以可以通过两次调用os方法来完成:

  • 第一个调用为初始
    length()-1
    字母生成一个子字符串
  • 第二个调用为最后一个字母生成子字符串


使用Regex可以执行以下操作:

       String s = "JC";
       Pattern p = Pattern.compile("\\d+");
       Matcher m = p.matcher(s);
       if(m.find()) {
         System.out.println("Rank :"+m.group());
         System.out.println("Suit :"+s.substring(m.end()));
       } else {

           System.out.println("Rank :"+s.substring(0,1));
           System.out.println("Suit :"+s.substring(1));   
       }

使用Regex可以执行以下操作:

       String s = "JC";
       Pattern p = Pattern.compile("\\d+");
       Matcher m = p.matcher(s);
       if(m.find()) {
         System.out.println("Rank :"+m.group());
         System.out.println("Suit :"+s.substring(m.end()));
       } else {

           System.out.println("Rank :"+s.substring(0,1));
           System.out.println("Suit :"+s.substring(1));   
       }

是什么标准让你把
“10D”
分成
{“10”,“D”}
,而不是
{“1”,“0”,“D”}
这实际上是卡的数据。10D意味着10钻石,JC杰克俱乐部。是什么标准让你把
“10D”
分成
{“10”,“D”}
,而不是
{“1”,“0”,“D”}
这实际上是卡的数据。10D代表10钻石,JC杰克俱乐部。这太棒了!谢谢:)太棒了!谢谢:)