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

     2023-02-26     295

关键词:

【中文标题】如何使用Java为列表中的每个字符串添加或插入\'(单引号),其中字符串用逗号分隔【英文标题】:How to add or insert ' (single quotes) for every string in a list in which strings are separated by commas using Java如何使用Java为列表中的每个字符串添加或插入'(单引号),其中字符串用逗号分隔 【发布时间】:2013-06-28 08:16:21 【问题描述】:

我有一个如下列表

[url1,url2,url3,url4] 

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

'url1','url2','url3','url4' 

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

【问题讨论】:

请分享您的尝试。 无法获取保留引号的逻辑。但可以使用 replace() 删除 [ 和 ] 我们是在谈论包含您的“url”变量的List<String>(在这种情况下,它们将显示在双引号之间)还是将您的列表表示为“[url1, url2,等]"? 您可以从列表中取出每个元素并将其放在单引号之间并添加回来..在代码中尝试此操作,如果您有任何问题,请告诉我们.. 一种选择是用逗号分割字符串,然后将单引号附加到每个单词,然后将所有单词附加回来 【参考方案1】:

    迭代列表(for/while)。

    为列表中的每个元素附加<element-of-list>。提示:在StringBuilder 上使用append()

    截断/子串列表以删除最后添加的元素。提示:在String 类上使用子字符串。

【讨论】:

StringBuilder b=new StringBuilder();现在 b.append("''") 不会在字符串的开头和结尾追加 ' 对吗??【参考方案2】:

如果你的元素在一个数组中,你可以这样做:

import java.util.ArrayList;

class Test1
    public static void main(String[] args) 
        String[] s = "url1","url2","url3","url4";

        ArrayList<String> sl = new ArrayList<String>();
        for (int i = 0; i < s.length; i++) 
            sl.add("'" + s[i] + "'"); 
        
    

【讨论】:

【参考方案3】:

试试这个

    String[] str = "url1","url2","url3","url4";
    ArrayList<String> strList = new ArrayList<String>();
    for (String k:str)
        strList.add("'" +k+ "'");
    System.out.println("Printing the list");
    for(String k:strList)
        System.out.println(k);

【讨论】:

【参考方案4】:
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,"','") + "'";

结果:

'my','name','is','baybora'

【讨论】:

【参考方案5】:

最快速有效的方法

例如

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

String s  ="'"+a.toString().replace("[","").replace("]", "").replace(" ","").replace(",","','")+"'";

【讨论】:

【参考方案6】:

您还可以使用 Java8 内置功能进行字符串连接,并使用第三方库将每个字符串括在引号中。

import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.runners.MockitoJUnitRunner;
import org.springframework.util.StringUtils;

import java.util.ArrayList;
import java.util.List;
import java.util.StringJoiner;

@RunWith(MockitoJUnitRunner.class)
public class StringJoinerTest 
    @Test
    public void testStringJoiner() 

        //init test data
        String s1 = "team1";
        String s2 = "team2";
        List<String> teams = new ArrayList<>(2);
        teams.add(s1);
        teams.add(s2);

        //configure StringJoiner
        //when some values will be added to joiner it will return string started with prefix "(" an finished with suffix ")"
        //between prefix and suffix values will be separated with delimiter ", "
        StringJoiner teamNames = new StringJoiner(", ", "(", ")");
        //if nothing has been added to the joiner it will return  this value ('')
        teamNames.setEmptyValue("(\'\')");

        //fill joiner with data
        for (String currentString : teams) 
            //if you need to wrap each string in single quotes you can do this via org.apache.commons.lang3.StringUtils#wrap
            // or org.springframework.util.StringUtils#quote
            teamNames.add(StringUtils.quote(currentString));
        

        System.out.println(teamNames.toString());
    

【讨论】:

【参考方案7】:

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

单引号

public static String singleQuote(String str) 
        return (str != null ? "'" + str + "'" : null);

双引号

public static String doubleQuotes(String str) 
        return (str != null ? "\"" + str + "\"" : null);

【讨论】:

【参考方案8】:

您可以使用 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);

输出

'url1','url2','url3','url4'

注意,在StringJoiner的构造函数中,

StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)

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

【讨论】:

【参考方案9】:

使用 Java 8 流:

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

Stream.of(array).collect(Collectors.joining("','", "'", "'"));

【讨论】:

【参考方案10】:

对于列表,您可以通过 Java 8 对其进行转换

 list.stream().collect(Collectors.joining("','", "'", "'"));

【讨论】:

对比python中的列表元组字典集合字符串等之间异同

1.数据类型列表、元组、字典、集合、字符串均属于python3的标准数据类型。字符串和元组属于不可变数据,即创建后不可修改。列表、字典、集合属于可变数据,即创建后可以修改元素。2.创建有元素的对象3.创建没有元素的对... 查看详情

如何使用python mysqldb一次插入多行

】如何使用pythonmysqldb一次插入多行【英文标题】:Howtousepythonmysqldbtoinsertmanyrowsatonce【发布时间】:2012-12-1006:35:24【问题描述】:我有一个列表列表,例如[[\'a\',\'b\'],[\'c\',\'d\']]。我有一个名为T的表和两个字段F1、F2。字段列表中... 查看详情

为列表中的每个项目附加/前置不同的字符

...描述】:从一个列表开始,例如:[\'aaaa\',\'aaata\',\'aaatt\']如何在每个项目的开头添加一个不同的字符来表示其顺序,即生成一个列表:[\'>1/naaaa\',\'>2/naaata\',\' 查看详情

如何使用列表在每个上下文菜单项上添加点击事件?

...发布时间】:2021-12-2619:02:18【问题描述】:我正在尝试将字符串列表转换为ContexMenu。如何将点击事件应用于每个项目并显示带有被点击项目文本的消息?CSpublicpartialclassMainWindow:WindowpublicMainWindow( 查看详情

如何解决以下错误?输入必须是任意长度的字符向量或字符向量列表,每个字符向量的长度为1

】如何解决以下错误?输入必须是任意长度的字符向量或字符向量列表,每个字符向量的长度为1【英文标题】:HowdoIsolvethefollowingerror?Inputmustbeacharactervectorofanylengthoralistofcharactervectors,eachofwhichhasalengthof1【发布时间】:2018-03-0216:2... 查看详情

当检查可以是字符串数组中的一个或多个项目时,如何将列表视图项目添加到数组中?

】当检查可以是字符串数组中的一个或多个项目时,如何将列表视图项目添加到数组中?【英文标题】:Howtoaddlistviewitemstoanarraywhenthecheckcanbeoneormoreitemsinastringarray?【发布时间】:2021-08-1706:47:34【问题描述】:无论如何要删除三... 查看详情

如何将列表中的每个项目与Python中另一个列表的所有值一起使用[重复]

...复:Allcombinationsofalistoflists我一直在尝试使用python将两个字符串列表添加在一起,但我无法让它与我尝试过的不同for循 查看详情

使用 StringBuilder 和 BufferedReader,如何在文本文件中的每个单词后添加逗号并生成字符串?

...redReader,如何在文本文件中的每个单词后添加逗号并生成字符串?【英文标题】:UsingStringBuilderandBufferedReader,howcanIaddcommasaftereachwordinatextfileandproduceastring?【发布时间】:2015-04-2105:34:52【问题描述】:我在一个文本文件中有一个... 查看详情

如何将字典(或其他数据类型)添加到 Django 中的帐户

】如何将字典(或其他数据类型)添加到Django中的帐户【英文标题】:Howtoaddadictionary(orsomeotherdatatype)toanaccountinDjango【发布时间】:2018-08-0500:18:50【问题描述】:我知道有一个可以实现的Django商店,但它似乎不符合我的需要。我... 查看详情

添加数据后如何刷新片段中的列表视图?

】添加数据后如何刷新片段中的列表视图?【英文标题】:HowtorefreshaListviewinaFragmentafterdatahasbeenadded?【发布时间】:2018-04-2409:30:45【问题描述】:我正在将数据从选项卡片段插入到sqlite数据库中。我的问题是一旦从列表中插入或... 查看详情

将字符串列表插入二维向量

】将字符串列表插入二维向量【英文标题】:Insertlistofstringsinto2dvector【发布时间】:2016-02-2203:13:48【问题描述】:我正在尝试获取一个列表,并根据列表中的字符串在二维向量中创建一个新行。我是C++新手,有几个问题:1)我是... 查看详情

如何将整数添加到列表中的每个元素?

】如何将整数添加到列表中的每个元素?【英文标题】:Howtoaddanintegertoeachelementinalist?【发布时间】:2012-03-0710:41:29【问题描述】:如果我有list=[1,2,3]并且我想将1添加到每个元素以获得输出[2,3,4],我该怎么做?我假设我会使用fo... 查看详情

java示例代码_为字符串数组中的每个元素添加字符串前缀

java示例代码_为字符串数组中的每个元素添加字符串前缀 查看详情

如何在java8中将字符串排序为带有lambdas的int(代码片段)

我有一个对象列表,每个对象都有一个返回字符串的方法getNumOrder。列表中的对象按字典顺序排序。大多数情况下,列表中的所有对象都具有返回整数的getNumOrder(但并非总是如此)。如果列表中的所有元素都有整数的NumOrders,... 查看详情

如何使用 django 为文件列表中的每个文件创建外键集

】如何使用django为文件列表中的每个文件创建外键集【英文标题】:Howtocreateaforeignkeysetforeachfileinalistoffileswithdjango【发布时间】:2019-04-1923:46:11【问题描述】:我正在尝试使用Django将多个图像上传到我的数据库。我希望每个文件... 查看详情

如何在 C# 中为枚举值添加描述以与 ASP.NET MVC 中的下拉列表一起使用? [复制]

】如何在C#中为枚举值添加描述以与ASP.NETMVC中的下拉列表一起使用?[复制]【英文标题】:HowdoyouaddadescriptiontoyouenumvaluesinC#tousewithadropdownlistinASP.NETMVC?[duplicate]【发布时间】:2015-03-2500:43:33【问题描述】:如果我想在我的ASP.NETMVC... 查看详情

使用 ibatis 将字符串列表插入到多列中的表中

】使用ibatis将字符串列表插入到多列中的表中【英文标题】:insertalistofstringstoatableinmultiplecolumnsusingibatis【发布时间】:2015-11-0421:18:03【问题描述】:我想使用ibatis将字符串列表插入到多行的数据库中。ie)id=1[a,b,c,d]aslistofstrings.... 查看详情

如何将 Pandas Dataframe 中的字符串转换为列表或字符数组?

】如何将PandasDataframe中的字符串转换为列表或字符数组?【英文标题】:HowtoconvertstringsinaPandasDataframetoalistoranarrayofcharacters?【发布时间】:2020-09-0300:23:50【问题描述】:我有一个名为data的数据框,其中的一列包含字符串。我想... 查看详情