2010-04-22 15 views
0

如何在文本文件中查找並替換「輸入」字符?這裏是我的代碼:如何查找和替換輸入字符?

string searchString("\r"); // <------- how to look for ENTER chars? 
string replaceString("XXXX"); 

assert(searchString != replaceString); 

string::size_type pos = 0, pos3 =0; 

while ((pos = test.find(searchString, pos)) != string::npos) { 
    test.replace(pos, searchString.size(), replaceString); 
      pos++; } 
+0

有什麼問題你有什麼? – 2010-04-22 03:47:48

+0

喬治,它以某種方式不檢測輸入字符。 – karikari 2010-04-22 04:28:53

+0

它的工作原理!謝謝你們:) – karikari 2010-04-22 04:43:30

回答

1

搜索\r\n for Windows格式,\n爲Linux/Unix的格式,\r爲文本文件的Mac格式。

1

取決於你的目標是什麼。

如果您希望所有換行符看起來相同,請撥打you'd better be thorough。根據連鎖的文章,至少有五種模式來尋找:

  • 的Windows(CR LF)
  • MAC(CR)
  • 的Unix(LF)
  • Unicode行分隔
  • Unicode段落分隔符

我認爲尋找字節模式(通過將其視爲二進制文件,而不是文本文件)將是要走的路。

1

輸入字符是「\ n」,但在Windows中,「\ r \ n」,舊的Mac「\ r」。 對於混合換行符:regexp /(?< [^ \ r \ n])(?:\ r | \ n | \ r \ n)(?= [^ \ r \ n])/

+0

RegEx? OP在哪裏要求? – 2010-04-22 03:51:12

+0

@George,您可以使用RegEx查找和替換。 OP確實要求查找和替換。 – John 2010-04-22 03:53:11