我有一个字符串(来自 irc 服务器的答案)。
我需要从这个字符串中获取整数,以回答 (PONG number_from_sv)
some txt PING :i_need_this_numbers some_text
如何让这个数字接近“PING :”,我不知道它有多长。我只知道,那是一个数字?
使用 c++11 标准,您可以使用内置正则表达式查找 ID。
一个可能的正则表达式是 PING :(\\d+)
,其中\d 屏蔽任意数字。+
表示大于或等于 1(位数)。
查找 ID 的小脚本可能如下所示
#include <string>
#include <regex>
#include <iostream>
using namespace std;
int main ()
{
std::string s ("some txt PING :665454 some_text");
std::smatch mt;
std::regex r ("PING :(\\d+) ");
if (std::regex_search ( s, mt, r))
{
smatch::iterator it = mt.begin()+1; // First match is entire s
cout<<"Your ping ID is: "<<*it<<endl;
}
return 0;
}
我是一名优秀的程序员,十分优秀!