有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从字符串数组中删除正则表达式

我需要从字符串数组中删除';'。有什么解决办法吗

我在课堂上做的是检索一段没有空格的长字符串

(这是要分离的一长串)

我通过在它们之间插入';'来分隔它们

(这个;是;一个;长的;一块;的;线的;要;被;分开的;)

然后我使用.split(";")将它们添加到数组中。除了最后一个索引具有';'外,所有索引都成功

this 

is 

a 

long 

piece 

of 

string 

to 

be 

separated; 


需要删除最后一个;

根据要求,代码如下

 while (line != null) {

            if(line.contains("../../"))
            {

                int startIndex = line.indexOf("../../") + 6;
                int endIndex = line.indexOf(">", startIndex + 1);
                String abc = "http://www.google.com/";
                String imageSrc = line.substring(startIndex,endIndex);

                //complete full url
                String xyz = abc +imageSrc;
                xyz = xyz.substring(0,xyz.indexOf('"'));
                xyz = xyz +";";
                content += xyz;
                            mStrings = content.split(";");

共 (4) 个答案

  1. # 2 楼答案

        String str="This; is; my; test;";
        String[] strArr=str.split(";");
        for(int i=0;i<strArr.length;i++)
        {
            System.out.println("Str:::"+strArr[i]);
         // add strArr[i] to an array or go through Arrays.toString()
        }
    

    代码中没有什么特别的地方,我的意思是,如果您使用的是spilt(),那么它已经对您起作用了,如果没有,那么您的代码有问题,发布您的代码以查看您的代码到底有什么问题,或者这样做

  2. # 3 楼答案

    我认为你没有告诉我们全部情况,因为当你在;上拆分时,后面的;将被忽略。通过运行此测试代码,您可以亲自查看:

    public static void main(String[] args) {
        System.out.println(Arrays.toString("a;b;c;".split(";")));
    }
    

    输出:

    [a, b, c]
    

    “答案”是什么也不做!它应该已经起作用了

  3. # 4 楼答案

    在拆分字符串之前,从字符串中删除最后的;不是最简单的方法吗?也就是说,删除最后一个字符(假定它总是;):

    var newStr = str.substring(0, str.length-1);
    

    然后在那根绳子上分开