java - 如何在Java中的特定索引处分割字符串?

标签 java string split

我有一个接受字符串的方法。

  • 如果它有三个字符,那么我会在第零个和第一个元素之间放置一个 :
    示例:123 1:23

  • 如果它有四个字符,那么我会在第一个和第二个元素之间放置一个 :
    示例:123412:34

出于某种原因,我不断得到奇怪的结果。

这是我的方法:

private String addColon(String openOrclose)
{
    String newHour = null;
    if(openOrclose.length() == 3)
    {
        newHour = openOrclose.substring(0,0) + ":" + openOrclose.substring(1,2);

    }
    else
    {
        newHour = openOrclose.substring(0,1) + ":" + openOrclose.substring(2,3);
    }
    return newHour;
}

对于三个字符,我的结果是 :2,对于四个字符,我的结果是 1:3

最佳答案

你很接近。您需要调整子字符串调用的索引:

private String addColon(String openOrclose)
{
    String newHour = null;
    if(openOrclose.length() == 3)
    {
        newHour = openOrclose.substring(0,1) + ":" + openOrclose.substring(1,3);

    }
    else
    {
        newHour = openOrclose.substring(0,2) + ":" + openOrclose.substring(2,4);
    }
    return newHour;
}

关于java - 如何在Java中的特定索引处分割字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40624392/

相关文章:

c# - C#中如何取回子字符串的值

SQL 函数为每个事件生成新行?

java - Hibernate 在 ManyToOne 关系中处理 long 0 值而不是 NULL

Python File IO - 构建字典并查找最大值

java - EJB 不是 "visible"给 EJB 管理器。不能使用 CDI 或 JNDI 来引用它

c - 字符串常量前的语法错误

c - qsort 的结构数组不工作

regex - 如何替换r中某列中字符串的第n个字符

java - 如何解决 Swing GUI 错误?

java - 复制流以避免 "stream has already been operated upon or closed"