我有一个日期07/12月/ 2020年,我想在斜线前打印12月的最后一个字母R.然后,我将这个最后一个字母与十二月的第一个字母结合在一起,将它们连接起来,以便它说“DR”。这在理论上要容易得多......
class Main {
public static void main(String[] args) {
String dateCod = "07/December/2020";
String firstletterLastletter= (dateCod.substring(3,4) + dateCod.substring(9));
}
}
System.out.println(firstletterLastletter);
}
}
我尝试了这个,但它不起作用。我也试过用子串和lastIndexOf组合来削减它,但那不行。我觉得我不知道自己在做什么,无力地试图通过在黑暗中投掷飞镖来了解如何做某事......
如何在第二个斜线前打印最后一个字母?
答案 0 :(得分:4)
使用split()
获取String的中间部分,然后使用charAt()
方法获取特定索引处的字符。
String dateCod = "07/December/2020";
String middle = dateCod.split("/")[1];
String res = middle.charAt(0) + "" + middle.charAt(middle.length() - 1);
如果您希望以后DR
使用toUppercase()
方法将其打印为res
答案 1 :(得分:0)
您可以将replaceAll
与正则表达式
String result = dateCod.replaceAll(".*/(.)[^/]+(.)/[^/]*", "$1$2");// Output Dr
答案 2 :(得分:0)
您仍然可以使用substring()获得所需内容,但关键是首先将日期字符串拆分为令牌。拆分允许您避免处理每个月名称中不同数量的字符。
public class Test
{
public static void main(String[] args)
{
String s = "07/December/2020";
String[] tokens = s.split("/");
String month = tokens[1];
String firstLetter = month.substring(0, 1);
String lastLetter = month.substring(month.length() - 1);
System.out.println(firstLetter + lastLetter);
}
}