Условие нахождения японских символов
В наличии имеется парсер веб страницы. Он находит конкретный текст и записывает его в текст бокс. Но нужно задать условие, при котором при наличии в тексте японских символов (иероглифов), то этот текст нужно пропускать, всю строку. Строка не обязательно будет полностью японской, может быть пару английских букв или цифр а потом японские. Следовательно нужно как то искать в строке японские символы игнорируя английские буквы и цифры. И при нахождении игнорировать эту строку.
Как бы это можно было сделать? Я вообще не представляю с чего начать.
Пример кода
async Task DownloadFromURL(string url, Action<AngleSharp.Dom.IDocument> document_action)
{
var config = Configuration.Default.WithDefaultLoader();
var context = BrowsingContext.New(config);
var document = await context.OpenAsync(url);
document_action(document);
EngNameTextBox.Text = h1.TextContent;
}
Ответы (1 шт):
Кажется нашел решение. Нагуглил что [\u2E80-\u9FFF] соответствует всем восточноазиатским языкам, не только японскому. Дальше нужно просто подсчитать сколько всего таких символов в строке, и ничего не делать, или очищать текстБокс если попадется хотя бы один японский символ.
var h1 = html_obj.QuerySelector("h1");
Regex reg = new Regex(".*[\u2E80-\u9FFF].*");
MatchCollection match = reg.Matches(h1.TextContent);
if (((byte)match.Count) > 0)
{
EngNameTextBox.Text = "";
}
else
{
EngNameTextBox.Text = h1.TextContent;
}
Или может можно сделать это короче?