如何为列表中的每个字符串添加或插入'(单引号),其中字符串使用Java用逗号分隔

use*_*189 12 java string list

我有一个列表如下

[url1,url2,url3,url4] 
Run Code Online (Sandbox Code Playgroud)

此列表将基于HTML下拉列表中的多个选择.所以列表大小即列表元素动态变化.我的问题是我无法获得字符串单引号的逻辑.我希望上面的字符串列表显示为

'url1','url2','url3','url4' 
Run Code Online (Sandbox Code Playgroud)

这是'每个字符串的单引号(),,不应该删除逗号().请帮助我如何使用Java实现这一目标.

bay*_*ren 16

    import org.apache.commons.lang.StringUtils;
    ...
    ...
    String arr[] = new String[4];
    arr[0] = "my";
    arr[1] = "name";
    arr[2] = "is";
    arr[3] = "baybora";

    String join = "'" + StringUtils.join(arr,"','") + "'";
Run Code Online (Sandbox Code Playgroud)

结果是: '我','名字','是','baybora'


Omk*_*kar 12

您可以使用Java 8实用程序类java.util.StringJoiner.

这个类专门介绍了字符串值的格式列表.

例如:

StringJoiner joiner = new StringJoiner("','", "'", "'");
        joiner.add("url1");
        joiner.add("url2");
        joiner.add("url3");
        joiner.add("url4");
        System.out.println(joiner);
Run Code Online (Sandbox Code Playgroud)

产量

'url1','url2','url3','url4'
Run Code Online (Sandbox Code Playgroud)

注意,在构造函数中StringJoiner,

StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
Run Code Online (Sandbox Code Playgroud)

我们将单引号作为前缀和后缀传递,以满足您的特定要求.


jit*_*ney 11

对于列表,您可以通过Java 8转换它

list.stream().collect(Collectors.joining("','", "'", "'"));
Run Code Online (Sandbox Code Playgroud)


Cam*_*lva 9

使用Java 8 Streams:

String[] array = {"url1", "url2", "url3", "url4"}

Stream.of(array).collect(Collectors.joining("','", "'", "'"));
Run Code Online (Sandbox Code Playgroud)


Opt*_*nal 6

1)迭代列表(for/while)

2)对于list的每个元素,附加'',.(提示:在StringBuilder上使用append()

3)截断/子串列表删除最后一个,添加(提示:在String类上使用子串)


小智 5

最快,最有效的方法

例如

ArrayList<String> a=[url1,url2,url3,url4];

String s  ="'"+a.toString().replace("[","").replace("]", "").replace(" ","").replace(",","','")+"'";
Run Code Online (Sandbox Code Playgroud)


Jav*_*hin 5

有一个 Util.java 文件,或者如果您已经拥有所有常见的 util 内容,那么只需添加这些静态方法

对于单引号

public static String singleQuote(String str) {
        return (str != null ? "'" + str + "'" : null);
}
Run Code Online (Sandbox Code Playgroud)

对于双引号

public static String doubleQuotes(String str) {
        return (str != null ? "\"" + str + "\"" : null);
}
Run Code Online (Sandbox Code Playgroud)