重新格式化字符串以逗号分隔和格式化
Reformat string to be comma separated and formatted
我有一个字符串列表...
var strings = new List<String>() { "a", "b", "c" };
我想以不同的格式输出它们,像这样:
'a','b','c'
我试过了:
string.Join("','",strings );
和
String.Join(",", String.Format("'{0}'",strings )
您的第二次尝试非常接近。试试这个:
string.Join(",", strings.Select(s => $"'{s}'"))
怎么样:
String.Join(",", strings.Select(s => String.Format("'{0}'", s)));
您的第一次尝试应该可行,但您需要在整体结果前添加前缀和后缀 "'"
。
或者,您可以这样做:
var strings = new List<string>() { "a", "b", "c" }
.Select(x => string.Format("'{0}'", x));
var result = string.Join(",", strings);
另一种选择是使用 StringBuilder
,
var strings = new List<string>() { "a", "b", "c" };
var builder = new StringBuilder();
foreach (var s in strings)
{
builder.AppendFormat(",'{0}'", s);
}
var result = builder.ToString().Trim(",");
在这种情况下,我建议使用 LINQ 方法,因为它很简单,但如果您的实际问题更复杂,请不要排除 StringBuilder
,因为它可以显示每个格式的意图个别项目更干净。
一种混合方法,您使用 StringBuilder
格式化每个项目的内容,然后使用 LINQ 构建以逗号分隔的列表,这种方法效果很好。
这是我的尝试:)
var result = "'" + string.Join("','", strings) + "'";
或
var result = string.Format("'{0}'", string.Join("','", strings));
using System.Linq;
var result=strings.Select(x=> "'" + x + "'").Aggregate((x, y) => x + "," + y );
or
var result=string.Format("'{0}'", string.Join("','", strings));
or
var result="'" + string.Join("','", strings) + "'";
我有一个字符串列表...
var strings = new List<String>() { "a", "b", "c" };
我想以不同的格式输出它们,像这样:
'a','b','c'
我试过了:
string.Join("','",strings );
和
String.Join(",", String.Format("'{0}'",strings )
您的第二次尝试非常接近。试试这个:
string.Join(",", strings.Select(s => $"'{s}'"))
怎么样:
String.Join(",", strings.Select(s => String.Format("'{0}'", s)));
您的第一次尝试应该可行,但您需要在整体结果前添加前缀和后缀 "'"
。
或者,您可以这样做:
var strings = new List<string>() { "a", "b", "c" }
.Select(x => string.Format("'{0}'", x));
var result = string.Join(",", strings);
另一种选择是使用 StringBuilder
,
var strings = new List<string>() { "a", "b", "c" };
var builder = new StringBuilder();
foreach (var s in strings)
{
builder.AppendFormat(",'{0}'", s);
}
var result = builder.ToString().Trim(",");
在这种情况下,我建议使用 LINQ 方法,因为它很简单,但如果您的实际问题更复杂,请不要排除 StringBuilder
,因为它可以显示每个格式的意图个别项目更干净。
一种混合方法,您使用 StringBuilder
格式化每个项目的内容,然后使用 LINQ 构建以逗号分隔的列表,这种方法效果很好。
这是我的尝试:)
var result = "'" + string.Join("','", strings) + "'";
或
var result = string.Format("'{0}'", string.Join("','", strings));
using System.Linq;
var result=strings.Select(x=> "'" + x + "'").Aggregate((x, y) => x + "," + y );
or
var result=string.Format("'{0}'", string.Join("','", strings));
or
var result="'" + string.Join("','", strings) + "'";