2014-04-13 2 views
-7

해당 단어가 포함 된 경우 다른 문자열의 특정 문자열을 바꾸길 원합니다. 예를 주고 문자열은 "ASP, MVC, C#을, WPF"이고 다른 문자열은 "<B> ASP/B > <, B > < WPF </B >"내 최종 결과가 있어야한다 "<B> ASP < /입니다 b >, mvc, C#, <b> wpf </b > "나는 어떻게 C# 코드에서 그것을 할 수 있는지 전혀 모른다. 나를 도와주세요.문자열의 특정 부분을 바꿉니 까?

+0

입니까? 당신은 언제나 과감한 태그가 결과로 끝나길 원하십니까? – kmacdonald

+0

두 번째 문자열의 값은 항상 첫 번째 문자열에 나타 납니까? – kmacdonald

+0

@matt 실제로 탄성 검색을 사용하고 있는데, 두 가지 종류의 결과를 얻는 첫 번째 필드는 모든 필드를 얻고 다른 하나는 강조된 용어입니다. 이제는 모든 필드 내에서 강조 표시된 용어를 바꿔서 모든 결과를 얻게됩니다. 단어가 포함 된 필드가 강조 표시된 필드 – user2757044

답변

0

당신은이 작업을 수행 할 수 있습니다 필요한 굵은 태그

var str = "asp,mvc,c#,wpf"; 
var anotherStr = "<b>asp</b>,<b>wpf</b>"; 
var myArr = anotherStr.Replace("<b>", "").Replace("</b>", "").Split(','); 
foreach (string value in myArr) 
{ 
    str = str.Replace(value, "<b>" + value + "</b>"); 
} 
Console.WriteLine(str); 
+0

더 가질 것입니다. 이런 1000 레코드보다 더 오랜 시간이 걸릴 것입니다 – user2757044

+0

그래서? regex를 사용해야하는데, 더 느려질 것이다. 내 제안은 내 대답과 함께가는 것입니다. –

관련 문제