Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Найти первое вхождение китайского иероглифа в строке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Найти первое вхождение китайского иероглифа в строке
Glen Дата: Среда, 23.11.2022, 14:54 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 10 ±
Замечаний: 0% ±

Excel 2010-16
Доброго дня.
Работаем с китайским подрядчиком.
Может быть кто то сталкивался с задачей найти первое вхождение китайского иероглифа в строке. Сам символ определяется как "?", но это не равно знаку вопроса.
В тексте могут быть: русские символы, цифры, любые знаки пунктуации, пробелы, английские символы, китайские символы.
Примеры текста:
Не смонтирован колодец МН 507 人孔MH 507未安装
Очистить поверхность ж/б изделий от битумной мастики над поверхностью грунта 将钢筋混凝土产品表面的沥青胶泥清理到地表以上
Датчики температуры наружного воздуха (ТЕ) установлены внутри помещения венткамеры, а не на улице (согласно документации завода-изготовителя и требованиям шеф-инженера) 环境空气温度传感器(TE)安装在空气处理装置的房间里,而不是外面(根据制造商的文件和建筑管理者的要求)。


Пехаль киндриков куравь, пехаль киндриков лузнись.

Сообщение отредактировал Glen - Среда, 23.11.2022, 15:02
 
Ответить
СообщениеДоброго дня.
Работаем с китайским подрядчиком.
Может быть кто то сталкивался с задачей найти первое вхождение китайского иероглифа в строке. Сам символ определяется как "?", но это не равно знаку вопроса.
В тексте могут быть: русские символы, цифры, любые знаки пунктуации, пробелы, английские символы, китайские символы.
Примеры текста:
Не смонтирован колодец МН 507 人孔MH 507未安装
Очистить поверхность ж/б изделий от битумной мастики над поверхностью грунта 将钢筋混凝土产品表面的沥青胶泥清理到地表以上
Датчики температуры наружного воздуха (ТЕ) установлены внутри помещения венткамеры, а не на улице (согласно документации завода-изготовителя и требованиям шеф-инженера) 环境空气温度传感器(TE)安装在空气处理装置的房间里,而不是外面(根据制造商的文件和建筑管理者的要求)。

Автор - Glen
Дата добавления - 23.11.2022 в 14:54
Serge_007 Дата: Среда, 23.11.2022, 15:02 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Здравствуйте

Первое вхождение не искал, но знаю что паттерн для китайских иероглифов такой:[vba]
Код
[^\u4e00-\u9fa5]
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеЗдравствуйте

Первое вхождение не искал, но знаю что паттерн для китайских иероглифов такой:[vba]
Код
[^\u4e00-\u9fa5]
[/vba]

Автор - Serge_007
Дата добавления - 23.11.2022 в 15:02
Glen Дата: Среда, 23.11.2022, 15:04 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 10 ±
Замечаний: 0% ±

Excel 2010-16
Serge_007, проверил шаблон, только цифры ловит


Пехаль киндриков куравь, пехаль киндриков лузнись.
 
Ответить
СообщениеSerge_007, проверил шаблон, только цифры ловит

Автор - Glen
Дата добавления - 23.11.2022 в 15:04
Serge_007 Дата: Среда, 23.11.2022, 15:07 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Вот эта функция извлекакет из любого текста только китайские иероглифы:[vba]
Код
Function ChinaExt(ChString As String) As String
Dim regEx As Object
    Set regEx = CreateObject("VBScript.RegExp")
        With regEx
            .Global = True
            .Pattern = "[^\u4e00-\u9fa5]"
            ChinaExt = .Replace(ChString, "")
        End With
    Set regEx = Nothing
End Function
[/vba]

К сообщению приложен файл: 2127665.png (13.8 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеВот эта функция извлекакет из любого текста только китайские иероглифы:[vba]
Код
Function ChinaExt(ChString As String) As String
Dim regEx As Object
    Set regEx = CreateObject("VBScript.RegExp")
        With regEx
            .Global = True
            .Pattern = "[^\u4e00-\u9fa5]"
            ChinaExt = .Replace(ChString, "")
        End With
    Set regEx = Nothing
End Function
[/vba]


Автор - Serge_007
Дата добавления - 23.11.2022 в 15:07
Glen Дата: Среда, 23.11.2022, 15:19 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 94
Репутация: 10 ±
Замечаний: 0% ±

Excel 2010-16
Как идея пойдет.
Дальше справлюсь, СПАСИБО.


Пехаль киндриков куравь, пехаль киндриков лузнись.
 
Ответить
СообщениеКак идея пойдет.
Дальше справлюсь, СПАСИБО.

Автор - Glen
Дата добавления - 23.11.2022 в 15:19
_Boroda_ Дата: Среда, 23.11.2022, 15:23 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация: 6503 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Формулой
Код
=ПОИСКПОЗ(0=1;СИМВОЛ(КОДСИМВ(ПСТР(A1;СТРОКА($1:$999);1)))=ПСТР(A1;СТРОКА($1:$999);1);)

Не только китайские ищет, а вообще все, которые не
Для более нового Excel можно использовать функцию UNICODE


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеФормулой
Код
=ПОИСКПОЗ(0=1;СИМВОЛ(КОДСИМВ(ПСТР(A1;СТРОКА($1:$999);1)))=ПСТР(A1;СТРОКА($1:$999);1);)

Не только китайские ищет, а вообще все, которые не
Для более нового Excel можно использовать функцию UNICODE

Автор - _Boroda_
Дата добавления - 23.11.2022 в 15:23
RAN Дата: Среда, 23.11.2022, 15:23 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Function China(s As String) As Long
    Dim i&
    For i = 1 To Len(s)
        If AscW(Mid(s, i, 1)) > 19967 Then
            China = i
            Exit Function
        End If
    Next
End Function
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Function China(s As String) As Long
    Dim i&
    For i = 1 To Len(s)
        If AscW(Mid(s, i, 1)) > 19967 Then
            China = i
            Exit Function
        End If
    Next
End Function
[/vba]

Автор - RAN
Дата добавления - 23.11.2022 в 15:23
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!