2016-01-12 2 views
0

От пользователя Я получу вход в форме (1, 21, 2, 7, 6,16) , но я хочу передать значение в виде ((1),(21), (2), (7), (6),(16)) в sql.Как разместить значения, разделенные запятыми, в фигурных скобках и снова разделенные запятой

Итак, может ли кто-нибудь предложить мне метод для синтаксического анализа этих значений в JQuery или в коде C#.

+0

is (1, 21, 2, 7, 6,16) строка или массив или что-то еще? –

ответ

1

Если передается строка "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); 
2
var szData="(1, 21, 2, 7, 6,16)"; 
    szData = szData.replace("(",""); 
    szData = szData.replace(")", ""); 
    szData = szData.replace(/,/g, "),(") 
    szData = "((" + szData + "))" 
    console.info(szData) 
+1

Удаление паразитов совершенно бессмысленно –

2

Вот пример, как это сделать в 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)) 
Смежные вопросы