【问题标题】:Java: substring from index to endJava:从索引到结尾的子字符串
【发布时间】:2021-01-11 12:29:41
【问题描述】:

我一直在尝试,但没有多大成功:

String whatIShouldSay = "no more beer please!";
String whatIActuallySay = whatIShouldSay.substring(3,-1);
System.out.println (whatIActuallySay);

但它不是那样工作的。但为什么会这样?我能做些什么呢? 作为一种解决方法,我可以这样做:

whatIShouldSay.substring(3,whatIShouldSay.length());

但这对我来说并不是一个优雅的解决方案。 将不胜感激提示! :)

P.S.:“whatIShouldSay”中的“should”是小写的还是大写的“s”?

【问题讨论】:

  • 还有另一种子字符串方法,它只接受一个参数,即包含开始索引。返回的字符串总是在原始字符串结束的地方结束。
  • 回答您的 P.S.:它应该显然是大写的,没有充分的理由不这样做。这个答案不太清楚的一个领域是通常用全大写字母(例如 HTTP)编写的缩写词,这些缩写词会导致奇怪的名称。 Google Java code style 对骆驼案例的角落案例进行了很好的讨论。

标签: java string substring


【解决方案1】:

one-argument variant of substring 将返回从参数开始到结尾的字符串:

String whatIActuallySay = whatIShouldSay.substring(3);

请注意,在 Java 中几乎从未使用过使用负索引从某个序列后面计数的约定(据我所知,在核心库中从未使用过,在第三方库中也很少使用)。

【讨论】:

    猜你喜欢
    • 2016-01-01
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-27
    • 2014-09-21
    相关资源
    最近更新 更多