如何将逗号分隔的值放在大括号中,并再次用逗号分隔

本文关键字:分隔 | 更新日期: 2023-09-27 18:29:51

我将从用户那里获得(1, 21, 2, 7, 6,16)形式的输入但我想将((1),(21), (2), (7), (6),(16))形式的值传递给sql。

所以,有人能给我一个在JQuery或c#代码中解析这些值的方法吗。

如何将逗号分隔的值放在大括号中,并再次用逗号分隔

var szData="(1, 21, 2, 7, 6,16)";
    szData = szData.replace("(","");
    szData = szData.replace(")", "");
    szData = szData.replace(/,/g, "),(")
    szData = "((" + szData + "))"
    console.info(szData)

以下是如何在C#中做到这一点的示例:

var input = "(1, 21, 2, 7, 6,16)";
var array = input
    .TrimStart('(').TrimEnd(')')  // Trim symbols ( and )
    .Split(new char[]{','}, StringSplitOptions.RemoveEmptyEntries) // Split into array, removing empty entries
    .Select(x=>x.Trim())        // Trim spaces from the number
    .Select(x=>string.Format("({0})", x));  // Select each item in format (x)
    var result = string.Format("({0})", string.Join(", ", array));  // create result
    // result is    ((1), (21), (2), (7), (6), (16))

如果您收到一个字符串"1,21,2,7,6,16",并正在寻找将其转换为字符串"(1),(21),(2),(7),(6),(16)"的方法,那么您可以执行以下操作(在c#中)

假设您的输入在变量foo:中

        var foo = "1, 21, 2, 7, 6, 16";
        var numbersWithPotentialSpaces = foo.Split(',');
        var numbers = numbersWithPotentialSpaces.Select(x => x.Trim());
        var numbersWithParens = numbers.Select(x => "(" + x + ")");
        var newString = string.Join(", ", numbersWithParens);