我有一个要从文件加载的字符串:
JC 10D 6S 7S 7C 9H 8C KC 2H
我使用了扫描仪scan.next()
,因此我每次只能获得一个表达式。
如何将这些表达式拆分为字符串?
例如JC into" J"和" C"。
我尝试过charAt(),但我意识到将10D分成" 10"和" D"因为我只是从文件中读取它。 我应该尝试使用String.split()吗?但是,我不知道如何使用正则表达式,因此实现必须简单。 谢谢!
答案 0 :(得分:2)
它实际上是卡片的数据。 10D表示10 Diamond,JC Jack Club。
既然你知道你会得到两个部分,你可以用两个调用os substring
方法来做到这一点:
length()-1
个字母String card = "10D";
String rank = card.substring(0, card.length()-1);
String suit = card.substring(card.length()-1);
答案 1 :(得分:2)
使用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));
}