내가하려는 것은 파일을 열고 "searchText"를 검색하는 것입니다. 나는 파일의 모든 인스턴스를 새 링크로 바꾸고 싶습니다. 실제로 링크가있는 파일 이름이므로 자바 스크립트를 여는 대신 페이지의 다른 지점으로 이동합니다.HTML 문서에서 문자열 바꾸기 및 추가 문자 추가
지금까지 내가 무엇을 이것이다 :
private void writeNotes(){
StreamReader reader = new StreamReader(openFileDialog1.FileName);
string content = reader.ReadToEnd();
reader.Close();
string fileName = openFileDialog1.SafeFileName;
string searchText = "<a class=\"x-fn\" href=\"javascript:void(0);\">";
string replaceText = "<a class=\"x-fn\" href=\"" + fileName + "#fn" + "\">";
content = Regex.Replace(content, searchText, replaceText);
StreamWriter writer = new StreamWriter(openFileDialog1.FileName);
writer.Write(content);
writer.Close();
그러나, 쓰기 및 닫은 후 ... 내가 파일을 열고 어떤 변경이되지 않았다. 그 외에도, 내가하고 싶은 일은 "#fn"이후에 카운팅하는 숫자를 추가하는 것입니다.
<a class="x-fn" href="fileName#fn1">
그리고 자바 스크립트의 두 번째 인스턴스를 교체 할 때 다음, 그것은
<a class="x-fn" href="fileName#fn2">
등 읽 그래서, 기본적으로, 모든 시간 동안 나는 내가 원하는, 서로 자바 스크립트 링크를 교체 on ...
자바 스크립트가 나타나는 횟수를 계산하고 바꿔서 for 루프를 사용하여 모든 새 링크를 반복하고 #fn (n)을 끝?
당신은 당신이 바로,뿐만 아니라 HTML 편집을위한 HtmlAgilityPack을 사용할 수 있습니다 알아? –
정규식을 사용하는 이유는 무엇입니까? 간단한 문자열 치환은 할 것이다 .. 특히 검색 문자열이 정규 표현식이 아니기 때문에! – banging
디버거를 사용하십시오. 어쩌면 당신의 정규식이 일치하는 것을 찾지 못할 수도 있습니다. 나는 또한 문자열 바꾸기를 사용하는 것이 좋다고 말했다. 그런 식으로 특별한 정규식 기호에 대해 걱정할 필요가 없습니다. –