字符串为 L"([-1870.0,-11400.0])",里面内容是个数组,可以采用截取字符串的方式,提取出数组项。
const FString& MessageString = L"([-1870.0,-11400.0])";
int32 CommaIndex = MessageString.Find(TEXT(","));
int32 FirstCommaIndex = MessageString.Find(TEXT(","), ESearchCase:: CaseSensitive, ESearchDir:: FromStart, 1);
int32 SecondCommaIndex = MessageString.Find(TEXT(","), ESearchCase:: CaseSensitive, ESearchDir:: FromStart, FirstCommaIndex + 1);
if (CommaIndex != INDEX_NONE) {
FString FirstValueString = MessageString.Mid(1, CommaIndex - 1);
float FirstValue = FCString:: Atof(* FirstValueString);
FString SecondValueString = MessageString.Mid(FirstCommaIndex + 1, SecondCommaIndex - FirstCommaIndex - 1);
float SecondValue = FCString:: Atof(* SecondValueString);
}
L:表示这个字符串是宽字符串。这种类型的字符串需要转义,比如L"Hello\nWorld,\n是需要转义的。
ps:C++新手刚入门,如果有更好的方案,欢迎大佬告知。