Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Groovy不从数组中删除元素_Groovy - Fatal编程技术网

Groovy不从数组中删除元素

Groovy不从数组中删除元素,groovy,Groovy,我想从行数组中删除以#或/开头的字符串。 它不起作用 以下是代码(不包括读取文件等准备工作): 以下是remove功能 public static String[] remove(String[] input, String deleteMe) { if (input != null) { List<String> list = new ArrayList<String>(Arrays.asList(input)); for (i

我想从
数组中删除以
#
/
开头的字符串。 它不起作用

以下是代码(不包括读取文件等准备工作):

以下是
remove
功能

public static String[] remove(String[] input, String deleteMe) 
{
    if (input != null) {
        List<String> list = new ArrayList<String>(Arrays.asList(input));
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).equals(deleteMe)) {
                list.remove(i);
            }
        }
        return list.toArray(new String[0]);
    } else {
        return new String[0];
    }
}
谢谢。

我做到了

我将删除功能更改为:

static String[] remove(String[] str_array , String what){


    List<String> list = new ArrayList<String>(Arrays.asList(str_array));
    list.remove(what);
    str_array = list.toArray(new String[0]);

    return str_array;
}
static String[]remove(String[]str\u数组,String what){
List List=newarraylist(Arrays.asList(str_array));
删除(什么);
str_array=list.toArray(新字符串[0]);
返回str_数组;
}
删除(行,行)
行=删除(行,行)


现在一切都好了

您可以使用
readLines()
读取文件中的行,然后只需调用
findAll
,如下所示:

String[] lines = new File("$_file")
    .readLines()
    .findAll { !it.startsWith('#') && !it.startsWith('//') }
static String[] remove(String[] str_array , String what){


    List<String> list = new ArrayList<String>(Arrays.asList(str_array));
    list.remove(what);
    str_array = list.toArray(new String[0]);

    return str_array;
}
String[] lines = new File("$_file")
    .readLines()
    .findAll { !it.startsWith('#') && !it.startsWith('//') }