js извлекает ключевые слова (аббревиатуру) названия компании и генерирует текст LOGO

Пользователь вводит название компании (полное название) для извлечения ключевых слов (аббревиатура).

Идеи реализации:

1. Определить длину введенной пользователем строки, если длина <= 4, то строка будет возвращена без обработки 2. Определить,
начинается ли строка с "xx провинция", и если да, то удалить эту часть
. 3. Определите, начинается ли строка с «xx city», если да, удалите эту часть
4. Определите, заканчивается ли суффикс строки на «xxxx», например «Co., Ltd.», если да, удалите эту часть 5. Определить, есть ли в строке спецсимволы
, например "(xxxx)", если есть, удалить эту часть
после того, как описанный выше процесс перехвачен> ​​4, затем непосредственно перехватывают первые 4 бита строки

Подытожим одним предложением: убираем голову и хвост, если текст слишком длинный, берем первые четыре символа

Следующий пример названия компании ↓:

Shenzhen Pingan Technology Co., Ltd.
Xiaomi Technology Co., Ltd.
Shanghai Yuanfeng Information Technology (Group) Co., Ltd.
Студия разработки и настройки программного обеспечения

Код:

препараты, глобальные переменные

let province = arr.province // xx省 json数据
let cities = arr.cities // xx市 json数据
let companySuffixes = arr.company_suffixes // xxxx 后缀json数据

Открытая функция для получения кратчайшей строки в коллекции массивов

Например: ['Shenzhen Ping An Technology Co., Ltd', 'Ping An Technology'], возвращаемое значение — "Ping An Technology"

function getStrLenShort(nameList) {
    
    
	let tempName = ''
	if (nameList.length > 0) {
    
    
		tempName = nameList[0]
		let temp = ""
		for (let i = 1; i < nameList.length; i++) {
    
    
			temp = nameList[i]
			if (tempName.length > temp.length) {
    
    
				tempName = temp
			}
		}
	}
	return tempName
}

1. Определить длину строки, введенной пользователем, если длина <= 4, то она не будет обработана и строка будет возвращена напрямую.

let length = name.length // name值为以上列举的企业名称
if (length <= 4) {
    
    
	return name
}

2. Определите, начинается ли строка с «xx провинция», если да, удалите эту часть

Добавьте отфильтрованные значения в массив nameList и используйте публичную функцию getStrLenShort, чтобы получить кратчайшую строку в массиве в качестве результата фильтрации, и следующие шаги такие же.

let nameList = [] // 储存企业名称过滤后的字符串数组集合
for (let i = 0; i < province.length; i++) {
    
    
    let prefix = province[i]
    if (name.startsWith(prefix)) {
    
     // 以 xxxx省 开头
        let nameSub = name.substring(prefix.length)
        nameList.push(nameSub)
    } else {
    
    
        nameList.push(name)
    }
}
name = getStrLenShort(nameList)

3. Определите, начинается ли строка с «xx city», если да, удалите эту часть

let nameList1 = [] // 储存企业名称过滤后的字符串数组集合
for (let i = 0; i < cities.length; i++) {
    
    
     let prefix = cities[i]
     if (name.startsWith(prefix)) {
    
     // 以 xxxx市 开头
         let nameSub = name.substring(prefix.length)
         nameList1.push(nameSub)
     } else {
    
    
         nameList1.push(name)
     }
 }
 name = getStrLenShort(nameList1)

4. Определите, заканчивается ли суффикс строки на «xxxx», например «Co., Ltd.», если да, удалите эту часть.

let nameList2 = [] // 储存企业名称过滤后的字符串数组集合
for (let i = 0; i < companySuffixes.length; i++) {
    
    
    let suffix = companySuffixes[i]
    if (name.endsWith(suffix)) {
    
     // 以 xxxx 结尾
        let substring = name.substring(0, name.length - suffix.length)
        nameList2.push(substring)
    } else {
    
    
        nameList2.push(name)
    }
}
name = getStrLenShort(nameList2)

5. Определить, есть ли в строке специальные символы, например "(xxxx)", и удалить эту часть, если она есть

if (name.includes('(')) {
    
    
   name = name.split('(')[0]
}

6. Учитывайте «нетрадиционные» имена предприятий (вышеупомянутый процесс фильтрации и перехвата пропускается) или длину после перехвата вышеуказанного процесса> 4, затем непосредственно перехватывайте первые 4 цифры строки

if (name.length > 4) {
    
    
   name = name.substring(0, 4)
}

Окончательный вывод:

Ping An
Xiaomi
Yuanfeng Информация
Разработка программного обеспечения
результат

Если вы найдете это полезным, не стесняйтесь поставить лайк, спасибо,
что следите за мной и время от времени делитесь техническими галантерейными товарами~

После извлечения ключевых слов вы можете сгенерировать ЛОГОТИП и другие операции.Если вам нужен исходный код, обратите внимание на официальный аккаунт ниже и ответьте на файл
json, использованный в приведенном выше [логотипе компании], следуйте официальному аккаунту и ответьте [упомянутый в качестве извлечения]
Нет публики

Je suppose que tu aimes

Origine blog.csdn.net/weixin_45295253/article/details/117511389
conseillé
Classement