導航:首頁 > 文件教程 > qt文件內容替換replace

qt文件內容替換replace

發布時間:2023-05-25 05:52:53

⑴ 求qt Qstring 中多個連續的空格替換成一個空格的方法

Qstring str;
str.replace(QRegExp("[\\s]+"), " "岩滑); /粗蠢臘/把所有的多檔局余的空格轉為一個空格

⑵ QT中用qstring顯示固定小數點出現bug

QString 類中各函數的作用。
一、字元串連接函數。
1、QString也重載的+和+=運算符。這兩個運算符可以把兩個字元串連接到一起。

2、QString的append()函數則提供了類似的操作,例如:
str = "User: ";
str.append(userName);
str.append("\n");

二、獲取字元串某位置的值。

QString x = "Nine pineapples";
QString y = x.mid(5, 4); // y == "pine"
QString z = x.mid(5); // z == "pineapples"
1、mid()函數接受兩個參數,第一個是起始位置,第二個是取串的長度。如果省略第二個參數,則會從起始位置截取到末尾。正如上面的例子顯示的那樣
2、函數left()和rigt()類似,都接受一個int類型的參數n,都是對字元串進行截取。不同之處在於,left()函數從左側截取n個字元,而right()從右側開始截取。下面是left()的例子:
1. QString x = "Pineapple";
2. QString y = x.left(4); // y == "Pine"
三、獲取字元在字元中的位置。
indexOf()

QString x = "sticky question";
QString y = "sti";
x.indexOf(y); // returns 0
x.indexOf(y, 1); // returns 10
x.indexOf(y, 10); // returns 10
x.indexOf(y, 11); // returns -1
四、可以檢測字元串是不是以某個特定的串開始或結尾。
startsWith() endsWith()

if (url.startsWith("http:") && url.endsWith(".png"))
{ }
這段代碼等價於
if (url.left(5) == "http:" && url.right(4) == ".png")
{ }
五、字元串替換函數replace();
trimmed()函數去除字元串兩側的空白字元(注意,空白字元包括空格、Tab以及換行符,而不僅僅是空格);
toLower()和toUpper()函數會將字元串轉換成小寫大寫字元串;
remove()和 insert()函數提供了刪除和插入字元串的能力;
simplified()函數可以將串中的所有連續的空白字元替換成一個,並且把兩端的空白字元去除,例如" \t 」會返回一個空格" "。

六、const char *類型的C風格字元串與QString字元之間的轉換。
簡單來說,QString的+=即可完成這個功能:
str += " (1870)";
這里,我們將const char * 類型的字元串" (1870)"轉換成為QString類型。
如果需要顯式的轉換,可以使用QString的強制轉換操作,或者是使用函數fromAscii()等。
為了將QString類型轉成const char *字元串,需要進行兩步操作,一是使用toAscii()獲得一個QByteArray類型對象,
然後調用它的data()或者constData()函數,
例如:
printf("User: %s\n", str.toAscii().data());
為了方便使用,Qt提供了一個宏qPrintable(),這個宏等價於toAscii().constData(),例如:
printf("User: %s\n", qPrintable(str));

我們調用QByteArray類上面的data()或者constData()函數,將獲得QByteArray 內部的一個const char*類型的字元串,
因此,我們不需要擔心內存泄漏等的問題,Qt會替我們管理好內存。不過這也暗示我們,注意不要使用這個指針太長時間,
因為如果 QByteArray被delete,那麼這個指針也就成為野指針了。如果這個QByteArray對象沒有被放在一個變數中,
那麼當語句結束後,QbyteArray對象就會被delete,這個指針也就被delete 了。
七、字元串與其它類型的轉換函數。
toInt() 轉整型
toDouble() 轉雙精度型
toLong() 轉長整型
這些函數都接受一個bool指針作為參數,函數結束之後將根據是否轉換成功設置為true或者false:
bool ok;
double d = str.toDouble(&ok);
if(ok)
{
// do something...
} else {
// do something...
}

整型轉字元串型:
1、使用static的函數number()可以把數字轉換成字元串。例如:
QString str = QString::number(54.3);
2、 也可以使用非static函數setNum()來實現相同的目的:
QString str;
str.setNum(54.3);

八、QString則提供了一個sprintf()函數實現了與C語言中的printf函數相同的功能。

1. str.sprintf("%s %.1f%%", "perfect competition", 100.0);
這句代碼將輸出:perfect competition 100.0%

2、另一種格式化字元串輸出的函數arg():

str = QString("%1 %2 (%3s-%4s)").arg("permissive").arg("society").arg(1950).arg(1970);
這段代碼中,%1, %2, %3, %4作為佔位符,將被後面的arg()函數中的內容依次替換,比如%1將被替換成permissive,
%2將被替換成society,%3將被替換成 1950,%4將被替換曾1970,最後,
這句代碼輸出為:permissive society (1950s-1970s). arg()函數比起sprintf()來是類型安全的,
同時它也接受多種的數據類型作為參數,因此建議使用arg()函數而不是傳統的 sprintf()。
九、求字元串的長度,返回值為INT型。
length();

⑶ Qt替換文件內容後,原來行里內容不變,下面多了一行替換完成後的內容

我雹櫻擾也覺得你打開文件的方式不對。你那個頌行stream對象是如何定義的,具體的代碼是啥源旦。你是在控制台顯示的內容?還是外部文件上顯示的?多給點信息,這個看不出什麼東西

⑷ Qt中如何修改文件中的內容

使用QFile類進行文件操作不需要顯式獲得文件當前游標,使用seek設置當前游標位置,它會自動轉移到pos參數所指向的位置,然後直接讀寫就行了。

⑸ QT中 怎麼修改文件里的內容和增加文件裡面的內容,會讀,會寫就是搞不明白

新增:將 游標定位到 文件尾,新增內容後保存
修改:將游標 定位到要修改的位置,刪除要刪除的,添加新的內容,然後保存

⑹ QT中,怎麼替換string中的某些符號

string.replace(str,"@@\","\\輪戚")就可以了
字元替換表 = {
["\"] = "\\";
["'"] = "<引號>";
["臘答陵N"] = "n";
}

str = string.replace( "替舉咐換'這里的\N",".|:", 字元替換表 )

io.open();
io.print( str )

⑺ Nokia QT SDK的QString類中的replace函數使用時,如何只替換第一個匹配,而非全部匹配

先find,返回第一個找到的目標字元串的index,然後replace時,參數給定大小

閱讀全文

與qt文件內容替換replace相關的資料

熱點內容
html5中加入js 瀏覽:441
美服applestoreid 瀏覽:889
微信數據文件能清嗎 瀏覽:107
圖片編輯到文件里列印怎麼有重影 瀏覽:593
舟山四軸編程培訓哪個學校好 瀏覽:542
沒加別人QQ可以發word文件 瀏覽:51
手機桌面的文件路徑 瀏覽:892
改款新寶來怎麼使用手機app 瀏覽:281
dede工具 瀏覽:507
5g網盟app怎麼下載 瀏覽:486
微信備份老是連接中斷 瀏覽:886
出台多少份文件 瀏覽:380
鞋子怎麼搭配衣服的app 瀏覽:755
文件名使用的通配符的符號是什麼 瀏覽:916
lol分卷文件損壞怎麼辦 瀏覽:276
6分管車螺紋怎麼編程 瀏覽:732
海口農商銀行信用卡app是什麼 瀏覽:770
win10任務欄文件夾我的電腦 瀏覽:14
安卓nba2k18 瀏覽:776
文件夾密碼怎麼修改密碼 瀏覽:271

友情鏈接