SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

Извличане само на първа дума от много редове

baibradar

New member
Здравейте,

Имам задача да изкарам само първата дума от хиляди редове. Въпросът ми към Вас е:

- Възможно ли е и как мога да извлеча само първата дума от хиляди редове автоматично с програма?

Думите са на български и са разделени със запетая.

дума1,дума2,дума, дума4,дума5
дума1,дума2,дума, дума4,дума5
дума1,дума2,дума, дума4,дума5

Трябва да изкарам само дума1 от всички редове.

Дано да можете да ми помогнете!
 
Да, алгоритъма в общи линии е :
- четеш ред по ред;
- разпокъсваш на запетаи ( split-alikes ), което обикновено връща масив в различните диалекти;
- взимаш първия ( нулев като индекс, също обикновената прогърмистка перверзия с броенето от нула ) елемент от масива;
- "изкарваш" я, каквото и да се крие зад тази загадъчна операция.
C'est ca
 
Да, алгоритъма в общи линии е :
- четеш ред по ред;
- разпокъсваш на запетаи ( split-alikes ), което обикновено връща масив в различните диалекти;
- взимаш първия ( нулев като индекс, също обикновената прогърмистка перверзия с броенето от нула ) елемент от масива;
- "изкарваш" я, каквото и да се крие зад тази загадъчна операция.
C'est ca

Благодаря ви за отговора!

От тези редове:

('', 'а,но,ала,ама,ама,пък,обаче');
('', 'абдал,простак,глупак,ахмак,балама,будала,серсем,з япльо,хапльо,бунак,дурак,малоумен,слабоумен');
('', 'абдикация,отказ,отказване,напускане,изоставяне,от стъпване');
('', 'абдикирам,отказвам се,напускам,изоставям');
('', 'абитуриент,зрелостник,абсолвент,матуритант');
('', 'абонат,клиент,подписник');
('', 'абонирам,записвам');
('', 'абориген,местен жител,туземец');
('', 'аборт,помятане,преждевременно раждане');
('', 'абсолвент,абитуриент,зрелостник,матуритант');


Трябва да станат така!


('а', 'но,ала,ама,ама,пък,обаче');
('абдал', 'простак,глупак,ахмак,балама,будала,серсем,зяпльо, хапльо,бунак,дурак,малоумен,слабоумен');

Как да взема само първата дума?
Ако мога някак да взема само първите думи от редовете после знам как да се оправя.
 
Колегата по-горе ви е отговорил. Типично тези задачи се решават със split string.
string.split{'separator'} и след това от полученият масив вземате array[0] или каквато логика искате да имплементирате.
 
Ще трябва в конкретната ситуация вложен цикъл ( моля, не се шашкай :) ), като на първа итерация ( обхождане, breathe :D ) се разделя на първата запетая, обхващаща празния литерал ( низ, exhale :D ), взимайки при което елемента с индекс 1 ( inhale :D ), и на втората итерация-обхождане ( exhale :D ) да се раздели отново на запетаи, и да се вземе нулево-индексирания, сиреч първия елемент. Междувременно, вероятно на стъпката с обработка на дясната страна, литерала съдържащ думите, ще се наложи да се strip-нат апострофите, но това е детайл на диалекта, възможно е да има parser или parse механизъм в програмно-езиковата вариация, който да прави това автоматично - подробности. Това въпросно решение не е варианта - който евентуално е нужен, но не е еднозначно ясно - ако искаш да премахнеш празния низ, и да имаш нещото в скобите. Това решение е за взимане на първата непразна дума, да уточня.

Cheerz :)
 
Последно редактирано:

Горе