2012-06-02 6 views
0

문자 ;을 바꾸고 입력란 p.notas으로 바꿔야합니다. 나는 이것을 시도했지만 줄 바꿈을 대체하지는 않는다.결과의 문자를 바꿉니다

var res = from p in miDataContext.clientes 
      orderby p.nombreCom 
      select        
       (p.nombreCom ?? "") + ";" + 
       (p.razon ?? "") + ";" + 
       (p.nif ?? "") + ";" +         
       ((p.notas ?? "").Replace (";" ,".")) 
        .Replace(Environment.NewLine , ". "); 

답변

2

당신의 Replace() 호출 Environment.NewLine를 사용하는 문제는 사용자 환경에서 개행 문자 (들)이 반드시 실제로 문자열에 사용되는 일치 나의 것입니다. 귀하의 컴퓨터는 아마도 \r\n (windows)이지만 실제로 저장되는 것은 \n입니다. 그 패턴은 분명히 문자열에 없습니다. 모든 개행 변형을 확인해야합니다.

이것이 LINQ to SQL에서 모두 괜찮다고 가정 할 때, 각 개행 유형마다 대체 호출을 추가하십시오.

var res = from p in miDataContext.clientes 
      orderby p.nombreCom 
      select 
       (p.nombreCom ?? "") + ";" + 
       (p.razon ?? "") + ";" + 
       (p.nif ?? "") + ";" +         
       ((p.notas ?? "").Replace(";", ".")) 
        .Replace("\r\n", ". ") 
        .Replace("\n", ". ") 
        .Replace("\r", ". "); 
+0

잘 실행됩니다! 고맙습니다 – aco

관련 문제