Java 如何只打印斜杠前的字母/&引用;在我的节目里?
我有一个日期是2020年12月7日,我只想打印斜杠前12月的最后一个字母R。然后,我将把最后一封信和12月的第一封信结合起来,把它们连在一起,这样它就会说“DR”。这在理论上要容易得多Java 如何只打印斜杠前的字母/&引用;在我的节目里?,java,string,Java,String,我有一个日期是2020年12月7日,我只想打印斜杠前12月的最后一个字母R。然后,我将把最后一封信和12月的第一封信结合起来,把它们连在一起,这样它就会说“DR”。这在理论上要容易得多 class Main { public static void main(String[] args) { String dateCod = "07/December/2020"; String firstletterLastletter= (dateCod.substring(3,4) +
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);
}
}
我试过了,但没用。我还试着用substring和lastIndexOf组合来对它进行配对,但那不起作用。我觉得我不知道自己在做什么,无力地试图通过在黑暗中投掷飞镖来理解如何做某事
如何仅打印第二个斜杠前的最后一个字母?您可以将
replaceAll
与regex一起使用
String result = dateCod.replaceAll(".*/(.)[^/]+(.)/[^/]*", "$1$2");// Output Dr
您可以将
replaceAll
与regex一起使用
String result = dateCod.replaceAll(".*/(.)[^/]+(.)/[^/]*", "$1$2");// Output Dr
使用
split()
获取字符串的中间部分,然后使用charAt()
方法获取特定索引处的字符
String dateCod = "07/December/2020";
String middle = dateCod.split("/")[1];
String res = middle.charAt(0) + "" + middle.charAt(middle.length() - 1);
如果以后要将其打印为DR
请使用res上的toUppercase()
方法使用split()
获取字符串的中间部分,然后使用charAt()
方法获取特定索引处的字符
String dateCod = "07/December/2020";
String middle = dateCod.split("/")[1];
String res = middle.charAt(0) + "" + middle.charAt(middle.length() - 1);
如果以后要将其打印为DR
请使用res
上的toUppercase()
方法,您仍然可以获得所需的内容,但关键是首先将日期字符串拆分为标记。拆分允许您避免处理每个月名称中不同数量的字符
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);
}
}
您仍然可以获得所需的内容,但关键是首先将日期字符串拆分为标记。拆分允许您避免处理每个月名称中不同数量的字符
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);
}
}
“但那是行不通的”——那么,你到底得到了什么样的结果,以及它以什么方式出乎意料?您需要向我们提供此类信息,以帮助我们了解出了什么问题。在本例中,我们可以看到出了什么问题(单参数substring方法返回索引后字符串的整个剩余部分,而不仅仅是一个字符),但是如果我们总是提供我们所拥有的所有信息,这会容易得多。“但那不起作用”-那么您得到的结果到底是什么,以及它以什么方式出乎意料?您需要向我们提供此类信息,以帮助我们了解出了什么问题。在这种情况下,我们可以看到哪里出了问题(单参数substring方法返回索引后字符串的整个剩余部分,而不仅仅是一个字符),但是如果我们总是提供我们所拥有的所有信息,就会容易得多。回答得好。我建议通过在char
中添加一个空白的String
来避免JS风格的类型强制效果,因为在Java中,这有点像黑客。做类似于String.valueOf(a)+b
的事情可能比做a+“”+b
更好。回答得好。我建议通过在char
中添加一个空白的String
来避免JS风格的类型强制效果,因为在Java中,这有点像黑客。执行类似于String.valueOf(a)+b
的操作可能比执行a+“”+b
更好。