CCF 201509 3 模板生成系統 正規表示式

2021-09-11 22:32:00 字數 1506 閱讀 3303

題目就不貼了。

這道題難度不是很大,只要會使用string的find函式和replace函式或者正規表示式就能將問題解決。總的來說這兩種方式的思路都是先匹配"}",然後替換裡面的值,下面是兩種方法的**:

如果你不會正規表示式,可以參考我的另一篇部落格正規表示式入門

正規表示式版

#include

using

namespace std;

void

getkeyvalue

(string s,string& key,string& value)

string replace

(string s,map

& mp)

\\}");

smatch match_result;

while(1

)else

}return ans;

}int

main

(int argc,

char

const

*ar**)

for(

int i =

0;i < m; i++

) cout <<

replace

(s,mp)

<< endl;

return0;

}

find + replace版

#include

#include

#include

#include

#include

using

namespace std;

int n,m;

vector lines;

string str;

map dict;

void

getkeyvalue

(string s,string& key,string& value)

void

replace()

}",begin)

; string name = s.

substr

(left+

3,right -1-

(left +3)

+1);

s = s.

replace

(left,name.

size()

+6,dict[name]);

begin = left + dict[name]

.size()

;}}}

intmain()

string line,key,value;

for(

int i =

0;i < m; i++

)replace()

;for

(int i =

0;i < lines.

size()

; i++

)}

CCF 201509 3 模板生成系統

這題第三題又是前端類的模擬。題目給定乙個模板,讓我們根據模板用引數替換其中的變數生成乙個特定的html文件 題目邏輯不難,考的也是字串類的,不過這種題一定要注意題目細節和細心做題。這種字串的題首選是用正規表示式來解題。思路 簡單說下思路。一行行處理 找到 模式的把這個模式識別到的字串替換成引數。最後...

CCF CSP 201509 3 模板生成系統

成成最近在搭建乙個 其中一些頁面的部分內容來自資料庫中不同的資料記錄,但是頁面的基本結構是相同的。例如,對於展示使用者資訊的頁面,當使用者為 tom 時,網頁的源 是 而當使用者為 jerry 時,網頁的源 是 這樣的例子在包含動態內容的 中還有很多。為了簡化生成網頁的工作,成成覺得他需要引入一套模...

ccf模板生成系統

這題目string處理的還是蠻不錯的,用到了getline,substr,find,等函式 include include using namespace std int main for int j 0 j str j 0 getline cin,str j 1 第二個有空格所以用getline ...