Чтобы добавить информацию из другой популярной структуры, Google Closures, см. их класс dom / classes :
goog.dom.classes.add(element, var_args)
goog.dom.classes.addRemove(element, classesToRemove, classesToAdd)
goog.dom.classes.remove(element, var_args)
. Для выбора элемента используется один параметр goog.dom.query с селектором CSS3:
var myElement = goog.dom.query("#MyElement")[0];
string s = "A,B,C";
string replaced = "'"+s.Replace(",", "','")+"'";
спасибо за комментарии, я пропустил внешние кавычки.
, Конечно.. если бы источник был пустой строкой, Вы хотели бы дополнительные кавычки вокруг этого или нет? И что, если вход был набором пробелов...? Я имею в виду, для предоставления 100%-го полного решения, которое я, вероятно, попросил бы списка модульных тестов, но я надеюсь, что мой инстинкт пищеварительного тракта ответил базовый вопрос.
Обновление : основанная на LINQ альтернатива была также предложена (с дополнительным преимуществом использования Строки. Формат и поэтому не имеющий необходимость волноваться о продвижении/запаздывании кавычек):
string list = "Fred,Sam,Mike,Sarah";
string newList = string.Join(",", list.Split(',').Select(x => string.Format("'{0}'", x)).ToList());
Будут Вами обрабатывающий много CSV? Если так, необходимо также рассмотреть использование библиотеки, чтобы сделать это. Не перестраивайте колесо. К сожалению, я не нашел библиотеку вполне столь же простой как библиотека CSV Python, но я видел FileHelpers (свободный) рассмотренный в MSDN Magazine, и это выглядит довольно хорошим. Существуют, вероятно, другие свободные библиотеки там также. Все это зависит от того, сколько обработки Вы будете делать все же. Часто это растет и растет, пока Вы не понимаете, что были бы более обеспеченным использованием библиотеки.
string[] bits = list.Split(','); // Param arrays are your friend
for (int i=0; i < bits.Length; i++)
{
bits[i] = "'" + bits[i] + "'";
}
return string.Join(",", bits);
Или Вы могли использовать LINQ, особенно с версией Строки. Соединение, которое поддерживает IEnumerable<string>
...
return list.Split(',').Select(x => "'" + x + "'").JoinStrings(",");
существует реализация JoinStrings в другом месте на ТАК... Я взгляну для него.
РЕДАКТИРОВАНИЕ: Ну, нет вполне JoinStrings, о котором я думал, таким образом, здесь это:
public static string JoinStrings<T>(this IEnumerable<T> source,
string separator)
{
StringBuilder builder = new StringBuilder();
bool first = true;
foreach (T element in source)
{
if (first)
{
first = false;
}
else
{
builder.Append(separator);
}
builder.Append(element);
}
return builder.ToString();
}
В эти дни string.Join
имеет универсальную перегрузку вместо этого, хотя, таким образом, Вы могли просто использовать:
return string.Join(",", list.Split(',').Select(x => $"'{x}'"));
Реализация C# решение PhiLho JavaScript для регулярного выражения смотрит что-то как следующее:
Regex regex = new Regex(
@"\b",
RegexOptions.ECMAScript
| RegexOptions.Compiled
);
string list = "Fred,Sam,Mike,Sarah";
string newList = regex.Replace(list,"'");
Я думаю, что самая простая вещь была бы к Split
и затем Join
.
string nameList = "Fred,Sam,Mike,Sarah";
string[] names = nameList.Split(',');
string quotedNames = "'" + string.Join("','", names) + "'";
Я не могу записать код C#, но этот простой код JavaScript, вероятно, легко адаптировать:
var s = "Fred,Sam,Mike,Sarah";
alert(s.replace(/\b/g, "'"));
Это просто заменяет границы (запустите/закончите строки, перехода от символов слова не пунктуация) одинарной кавычкой.
string list = "Fred,Sam,Mike,Sarah";
string[] splitList = list.Split(',');
for (int i = 0; i < splitList.Length; i++)
splitList[i] = String.Format("'{0}'", splitList[i]);
string newList = String.Join(",", splitList);
Мой "менее сложный" подход... Я предполагаю, что это всегда - хорошая практика для использования StringBuilder, потому что список может быть очень большим.
string list = "Fred,Sam,Mike,Sarah";
StringBuilder sb = new StringBuilder();
string[] listArray = list.Split(new char[] { ',' });
for (int i = 0; i < listArray.Length; i++)
{
sb.Append("'").Append(listArray[i]).Append("'");
if (i != (listArray.Length - 1))
sb.Append(",");
}
string newList = sb.ToString();
Console.WriteLine(newList);
string[] splitList = list.Split(',');
string newList = "'" + string.Join("','", splitList) + "'";