首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有办法将subSequence记忆成变量吗?

有办法将subSequence记忆成变量吗?
EN

Stack Overflow用户
提问于 2019-10-21 03:03:02
回答 1查看 41关注 0票数 0

我正在编写一个程序,它应该忽略() (不用RegExp),通过我创建的方法,我希望变量x记住新的字符串。我如何以这种方式访问subSequence,或者通过另一种不包括使用RegExp的方法来规避问题?

代码语言:javascript
复制
public int removeParentheses(char[] str) {
    // To keep track of '(' and ')' characters count 
    int count = 0;

    for (int i = 0; i < str.length; i++)
        if (str[i] != '(' && str[i] != ')')
            str[count++] = str[i];

    return count;
}

public String foo(String input) {

    for (String index : input.split(" ")) {
        char[] charArray = index.toCharArray();
        int k = removeParentheses(charArray);
        String x = String.valueOf(charArray).subSequence(0, k); // that's what i want to do. it doesn't work.
        System.out.println(String.valueOf(charArray).subSequence(0, k)); // this is the only way i can make it work, but it doesn't suffice my needs
    }
}

当前输出是

代码语言:javascript
复制
 error: incompatible types: CharSequence cannot be converted to String
                        String x = String.valueOf(charArray).subSequence(0, k);
                                                                        ^
1 error

我希望boo)的输出在boo变量中是boo,而不仅仅是在屏幕上通过System.out.println方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-21 03:17:58

你说这是“我想做的事,不管用。”

代码语言:javascript
复制
String x = String.valueOf(charArray).subSequence(0, k);

subSequence()的返回值是一个CharSequence,它不是字符串。这是有道理的,它是行不通的。

由于您是从一个字符数组( char [] )开始的,所以您可以使用Arrays.copyOfRange()来创建一个新的charArray子集数组,如下所示:

代码语言:javascript
复制
char[] copy = Arrays.copyOfRange(charArray, 0, k);

在那里,您可以构造一个新的String -- new String(copy) --或者直接使用这个新的字符数组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58479275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档