2012-08-30 3 views
0

HI 모든 나는이여러 데이터가있는 문자열을 작성할 때 끝에있는 문자열을 대체하는 방법은 무엇입니까?

[Anil Kumar K,Niharika,Raghu,/4,0,0,/3,0,0,/1,1,1,/1,0,0,] 

내가이 데이터와 함께이 문자열을 구축하고있다처럼 보이는 문자열을 구축하고

public JsonResult ResourceBugReports() 
    { 
     int projectid; 
     int Releasphaseid; 
     projectid = 16; 
     Releasphaseid = 1; 
     var ResourceReports = db.ExecuteStoreQuery<ResourceModel>("ResourceBugReports @ProjectId,@ReleasePhaseId", new SqlParameter("@ProjectId", projectid), new SqlParameter("@ReleasePhaseId", Releasphaseid)).ToList(); 
     DataSet ds = new DataSet();   

     var model1 = new WeeklyBugCount 
     { 
      Resources = ResourceReports 
     }; 
     foreach (var row in model1.Resources) 
     { 
      ResourceName1 = ResourceName1 + row.EmployeeName + ","; 
     } 
     foreach (var row in model1.Resources) 
     { 
      BugsCount = BugsCount + row.Assignedbugs + ","; 
     } 
     foreach (var row in model1.Resources) 
     { 
      BugsCount1 = BugsCount1+ row.Closedbugs + ","; 
     } 
     foreach (var row in model1.Resources) 
     { 
      Bugscount2 = Bugscount2 + row.Fixedbugs + "," ; 
     } 
     foreach (var row in model1.Resources) 
     { 
      BugsCount3 = BugsCount3 + row.Reopenedbugs + ","; 
     } 

     ComboinedString = ResourceName1 + "/" + BugsCount + "/" + BugsCount1 + "/" + Bugscount2 + "/" + BugsCount3; 

     return Json(ComboinedString, JsonRequestBehavior.AllowGet); 
    } 

ComboinedString =[Anil Kumar K,Niharika,Raghu,/4,0,0,/3,0,0,/1,1,1,/1,0,0,] 

하지만 난이 문자열을 원하는

ComboinedString =[Anil Kumar K,Niharika,Raghu/4,0,0/3,0,0,/1,1,1/1,0,0] 

이 스트링에서 "/"앞에 ","를 제거하고 싶습니다. 어떤 사람이라도 도와주세요.

답변

1

내가 당신에게

String CombinedString1 = CombinedString.Replace(",/", "/"); 
1

간단한 해결책은 "/"을 "/".

더 나은 해결책은 for() 루프를 사용하고 각 값의 끝에 쉼표를 추가하는 대신 String.Join()을 사용하는 것입니다. 예를 들어, 대체 :

foreach (var row in model1.Resources) 
    { 
     ResourceName1 = ResourceName1 + row.EmployeeName + ","; 
    } 

ResourceName1 = string.Join(",", model1.Resources.ToArray()) 

와 후행 쉼표를 제거합니다.

0

간단한 솔루션의 상단 오프 String.EndsWith() 함수 즉

string str = "ksjf,sjsfj,sfs,"; 
     if (str.EndsWith(",")) 
     { 
      str = str.Remove(str.Length - 1); 

     } 
0

을 사용하는 것이 도움이 될 것입니다 희망이 문을 추가 내 머리, 당신은 간단한 정규 표현식으로 대체하려고 할 수 있습니다 :

string input = "dsgd,sdgsdg,dsgsdg,sdg,"; 
string output = Regex.Replace(input, ",$", ""); 
//output: "dsgd,sdgsdg,dsgsdg,sdg" 

@ user1542652의 솔루션은 간단하며 잘 작동합니다.

관련 문제