- + 作爲分隔符解析字符串

Minus "-"

{
		QString str = "1-3";
		
		//"-"
		QStringList strList = str.split("-");                   //size = 2  1,3

		//QRegExp("+")
		QStringList strList1 = str.split(QRegExp("-"));         //size = 2  1,3

		//QRegExp("[+]")
		QStringList strList2 = str.split(QRegExp("[-]"));       //size = 2  1,3

		//[- +] 收尾加空格
		QString dataSplit = QString::fromLocal8Bit("[ - + ]");
		QStringList strList3 = str.split(QRegExp(dataSplit));	//size = 1  1-3

		//[ - - + ] 收尾加空格,兩個"-"
		dataSplit = QString::fromLocal8Bit("[ - - + ]");
		QStringList strList4 = str.split(QRegExp(dataSplit));   //size = 2  1,3

		//[- +] 收尾不加空格
		dataSplit = QString::fromLocal8Bit("[- +]");
		QStringList strList5 = str.split(QRegExp(dataSplit));	//size = 2  1,3

		//[-+] 不加空格
		dataSplit = QString::fromLocal8Bit("[-+]");
		QStringList strList6 = str.split(QRegExp(dataSplit));	//size = 2  1,3
}
	//ps: //[ - - + ] 有時可以解析,有時解析不了

項目中需要解析文件名"-",採用正則表達式[ - + ]不太好使,[ - - +]可以分割,但有些情況不生效...

 

Plus "+"

{
		QString str = "1+3";

		//"-"
		QStringList strList = str.split("+");	                //size = 2  1,3

		//QRegExp("+")
		QStringList strList1 = str.split(QRegExp("+"));         //size = 1  1-3

		//QRegExp("[+]")
		QStringList strList2 = str.split(QRegExp("[+]"));       //size = 2  1,3

		//[- +] 收尾加空格
		QString dataSplit = QString::fromLocal8Bit("[ - + ]");
		QStringList strList3 = str.split(QRegExp(dataSplit));	//size = 2  1,3

		//[ - - + ] 收尾加空格,兩個"-"
		dataSplit = QString::fromLocal8Bit("[ - - + ]");
		QStringList strList4 = str.split(QRegExp(dataSplit));   //size = 2  1,3

		//[- +] 收尾不加空格
		dataSplit = QString::fromLocal8Bit("[- +]");
		QStringList strList5 = str.split(QRegExp(dataSplit));	//size = 2  1,3

		//[-+] 不加空格
		dataSplit = QString::fromLocal8Bit("[-+]");
		QStringList strList6 = str.split(QRegExp(dataSplit));	//size = 2  1,3

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章