C#으로 문자열에서 쉼표를 제거 할 수있는 방법은 무엇입니까? 내가 함께 시도가C에서 ""사이의 쉼표 제거 #
:하지만이 작동하지 않습니다
string result = Regex.Replace(input,
@",([^""]$)",String.Empty);
...
감사
C#으로 문자열에서 쉼표를 제거 할 수있는 방법은 무엇입니까? 내가 함께 시도가C에서 ""사이의 쉼표 제거 #
:하지만이 작동하지 않습니다
string result = Regex.Replace(input,
@",([^""]$)",String.Empty);
...
감사
나의 생각은 "qu otes "이므로 각 고르지 않은 색인 요소는 따옴표 사이에 표시됩니다. 기본적으로 당신의 정규식은 "`를 제외한 문자 다음에 쉼표`로 대체
var parts = input.Split('"');
for (var i = 1; i < parts.Length; i += 2)
{
parts[i] = parts[i].Replace(",", "");
}
var result = string.Join("\"", parts);
좋은 트릭이 실제로 –
+1입니다.이 접근법은 이스케이프 된 CSV에서 작동해야합니다. – StriplingWarrior
@StriplingWarrior 아주 좋았어요! 저는 빈 ""의 경우에 대해 실제로 생각하고 있었지만, 생각하지 않았습니다. ("this"는 "테스트"입니다.) CSV 형식의 이스케이프 된 따옴표로 얼마나 효과가 있는지 알려주 셨습니다. – SimpleVar
// extract the fields
Regex CSVParser = new Regex(",(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))");
String[] Fields = CSVParser.Split(Test);
// clean up the fields (remove " and leading spaces)
for (int i = 0; i < Fields.Length; i++)
{
Fields[i] = Fields[i].TrimStart(' ', '"');
Fields[i] = Fields[i].TrimEnd('"');
}
: , 그 겪고 그들을 위해 아무것도 쉼표를 교체 한 다음 하나의 문자열로 모든 것을 재결합, 트릭을 할해야 빈 문자열, 그래서 ...? –
"각"사이의 의미는 무엇입니까? "문자열 리터럴을 의미합니까? –
예를 들어 aaaaaa, bbbbb, cccc,"bbbb, aaaa ", aaa,"vv, x "는 와우 : aaaaaa, bbbbb, cccc, "bbbb aaaa", aaa, "vv x" – Maxime