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

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 😀 ) се разделя на първата запетая, обхващаща празния литерал ( низ, exhale 😀 ), взимайки при което елемента с индекс 1 ( inhale 😀 ), и на втората итерация-обхождане ( exhale 😀 ) да се раздели отново на запетаи, и да се вземе нулево-индексирания, сиреч първия елемент. Междувременно, вероятно на стъпката с обработка на дясната страна, литерала съдържащ думите, ще се наложи да се strip-нат апострофите, но това е детайл на диалекта, възможно е да има parser или parse механизъм в програмно-езиковата вариация, който да прави това автоматично - подробности. Това въпросно решение не е варианта - който евентуално е нужен, но не е еднозначно ясно - ако искаш да премахнеш празния низ, и да имаш нещото в скобите. Това решение е за взимане на първата непразна дума, да уточня.

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

Back
Горе