regex kullanarak php bölünmüş dizge

3 Cevap php

Ben şirket adı almak gerekiyor ve farklı dizilerde borsa sembolü. Burada bir txt dosyasında saklanır benim veriler:

3M Company      MMM
99 Cents Only Stores    NDN
AO Smith Corporation    AOS
Aaron's, Inc.   AAN

ve benzeri

How would I do this using regex or some other techniques? Thanks

3 Cevap

Her satırı üzerinde yineleme ve düzenli bir ifade ile veri toplamak:

^(.+?)\s+([A-Z]+)$

Geribaşvuru $1, şirket adını içerecektir $2 senedi sembolü içerecektir.

Ayrıca iki veya üç uzay ayraç ile ikiye dize bölmek ve elde edilen iki dizeleri kırpabilir. Eğer şirket adı ve senedi sembolü her zaman yeterli boşluklarla ayrılmış eminseniz bu sadece çalışır, ve şirket adı kendisi alanlarda bu miktarı içermez.

Metin dosyası biçimi size dayatılan? Eğer bir seçim varsa, ben metin dosyasındaki alanları ayırmak için boşluk kullanmayın öneririm. Bunun yerine, kullanmak veya | $ $ ya da emin olabilirsiniz şey o zaman sadece bir dizi bölünmüş, içeriği görünmez.

Bu normal ifade deneyin:

(.+)\s*([A-Z]{3})$

Belki de daha fazla PHP deneyimi olan birisi preg_split ya da benzer bir şey kullanarak bir kod örneği dışarı eti olabilir.