動作確認
C++ Builder XE4
Rad Studio 10.2 Tokyo Update 2 (追記: 2017/12/27)
タブやエスケープシーケンスなどのない、英数字のみからなる文字列を取得したい。
ただし、括弧も取得したい。
手抜きでIndy使用。
#include <IdGlobal.hpp> // IsAlphaNumeric();
...
static String getAlphaNumericString(String srcStr)
{
String res;
String code;
for(int idx=1; idx <= srcStr.Length(); idx++) {
code = srcStr.SubString(idx, 1);
if (IsAlphaNumeric(code.c_str())) {
res = res + code;
}
if (code.Pos(L"(") > 0 || code.Pos(L")") > 0) {
res = res + code;
}
}
return res;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String work = L"aaa-bbb\tddd(abc)";
String res = getAlphaNumericString(work);
Memo1->Lines->Add(res);
}
結果(Memo1内)
aaaabbbddd(abc)