【问题标题】:String split assignment字符串拆分赋值
【发布时间】:2017-04-15 21:32:41
【问题描述】:

大家好,我是编程新手,我目前正在为我的 java 类做一个说明这一点的作业

String 类中的 split 方法返回一个由分隔符分割的子字符串组成的字符串数组。但是,不返回分隔符。实现以下新方法,该方法返回由匹配分隔符拆分的字符串数组,包括匹配分隔符。

public static String[] split(String s, String regex)

例如 split(“ab#12#453”, “[?#]”)

在字符串数组中返回 [ab, #, 12, #, 453]

输出

[ab, #, 12, #, 453]

这是我的代码

public class Assignment {

    public static void main(String[] args) {


String str= "ab#12#453";

String []temp;

String delimiter= "#";



temp=str.split(delimiter);

for(int i = 0;i<temp.length;i++)
{


    if(i == 0){
        System.out.printf("[");
    }

    System.out.printf(temp[i]);

    if(i != temp.length - 1){
    System.out.printf(", " + delimiter + ", ");
    }
    if(i == temp.length - 1){
        System.out.printf("]");

    }

}


    }

}

如您所见,我会得到正确的输出,但我很确定这不是作业要求的方式。有人能指出我在这里可能出错的地方以及从哪里开始以正确的方式思考吗?

【问题讨论】:

    标签: java arrays string split


    【解决方案1】:

    你被要求

    实现以下新方法,该方法返回由匹配分隔符(包括匹配分隔符)拆分的字符串数组。

    public static String[] split(String s, String regex) 
    

    它返回一个字符串数组 (String[]) 并在调用时将两个字符串(一个要拆分的字符串和分隔符作为正则表达式)作为参数。

    所以,实际上你被要求像这样实现方法split

    public static String[] split(String s, String regex) {
    
        /* 
        split your input string 's' by the delimiter 'regex',
        add each sub string to an array
        and return the generated array 
        */
    } 
    

    然后可以调用方法split,如问题陈述所示。

    我也建议你看看Java regular expressions

    【讨论】:

      【解决方案2】:

      由于您没有任何具体说明,因此您可以在数组的每个其他元素中添加一个 #。 请记住,您必须将数组扩展为 array.length()/2

      一个毫无意义的解决方案,但很简单。

      【讨论】:

        猜你喜欢
        • 2021-12-21
        • 2021-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-11
        • 1970-01-01
        相关资源
        最近更新 更多