A useful tool for string operations is regex. This may be found in virtually all high-level 目前的程式語言,包括C 。正規表示式(Regex)被用作 通用搜尋模式。例如,透過建立一個簡單的字串 被稱為正規表示式,我們可以使用至少實現密碼驗證邏輯 一個大寫字母,一個小寫字母,一個數字,一個特殊字符,並且總長度至少為 8個字元。
In this tutorial, we'll look at how to use C to display only the first letters of words included 在指定的字串內。在這裡,我們將看一個使用空格來分隔單字的句子 無論字元是大寫還是小寫,計算機都會讀取 將字串使用正規表示式分割,並傳回每個單字的第一個字元。
To use regular expressions, we need to import the regex library using the ‘regex’ header. To 使用正規表示式,我們需要以下語法 -
regex obj_name( <regular expression> )
After defining regex, we can use them in multiple ways. We will see our intended approach 在下面。現在要從單字中讀取第一個字符,正規表示式的語法將會是這樣的 下面的內容為:
\b[a-zA-Z]
在這裡,‘\b’表示單字的開頭。 [a-zA-Z]表示大寫或小寫字母 lowercase letters which are in the range of ‘a’ to ‘z’ or ‘A’ to ‘Z’. And only one of them is taken. 現在讓我們來看看正在用於讀取所有選定匹配項的迭代器物件 -
regex_token_iterator<string::iterator> iterator_name( <begin pointer of string>, <ending pointer of string>, <regular expression>, <submatch>);在這個迭代器中,前兩個參數是起始和結束指標的 string object. The third parameter is the given regular expression object which we have 在之前創建。第四個參數是子匹配。當子匹配為0時,它將 傳回那些來自符合的元素(在符合時)的內容,當 submatch is -1, it represents where the matching is not done (reverse of the submatch 0). submatch為-1,表示符合未完成的位置(與submatch 0相反)
#include <iostream> #include <regex> using namespace std; string solve( string s){ string ret = ""; regex e("\b[a-zA-Z]"); regex_token_iterator<string::iterator> i(s.begin(), s.end(), e, 0); regex_token_iterator<string::iterator> end; while (i != end) { ret += (*i++); ret += ", "; } return ret; } int main(){ string s = "A string to read only the first letter of words"; cout << "Given String: " << s << endl; cout << "The first letter of each word: " << solve( s ) << endl; s = "Central Pollution Control Board"; cout << "Given String: " << s << endl; cout << "The first letter of each word: " << solve( s ) << endl; }
Given String: A string to read only the first letter of words The first letter of each word: A, s, t, r, o, t, f, l, o, w, Given String: Central Pollution Control Board The first letter of each word: C, P, C, B,
以上是使用正規表示式的C++程式列印每個單字的首字母的詳細內容。更多資訊請關注PHP中文網其他相關文章!