diff --git a/src/CalcViewModel/DataLoaders/CurrencyDataLoader.cpp b/src/CalcViewModel/DataLoaders/CurrencyDataLoader.cpp index 0f9a4d09..9a9787c2 100644 --- a/src/CalcViewModel/DataLoaders/CurrencyDataLoader.cpp +++ b/src/CalcViewModel/DataLoaders/CurrencyDataLoader.cpp @@ -109,14 +109,12 @@ CurrencyDataLoader::CurrencyDataLoader(_In_ unique_ptr clie m_responseLanguage = GlobalizationPreferences::Languages->GetAt(0); // Workaround for Simplified Chinese localization issue of currency API. - std::wstring responseLanguage(m_responseLanguage->Data()); - wregex pattern = wregex(L"zh-hans-[a-zA-Z]+", std::regex_constants::icase); - std::wsmatch match; - if (regex_match(responseLanguage, match, pattern)) + std::wstring_view responseLanguage(m_responseLanguage->Data(), m_responseLanguage->Length()); + std::match_results match; + if (std::regex_match(responseLanguage.cbegin(), responseLanguage.cend(), match, std::wregex(L"zh-hans-[a-z]+", std::regex_constants::icase))) { - responseLanguage = L"zh-CN"; + m_responseLanguage = L"zh-CN"; } - m_responseLanguage = ref new Platform::String(responseLanguage.c_str()); } else {