Dizeleri regex kullanarak android'de çoklu dizgelere böl

Parsing.suppose ile ilgili şeyler yapan bir android projesi üzerinde çalışıyorum. Dizeyi özel formata bölmek istiyorum.

Benim dize

Power supply will be suspended in the following areas on 13-04-15 between 9.00 A.M. to 2.00 P.M. for maintenance work. NUNGAMBAKKAM AREA : Nungambakkam High road(Door no. 33 to 66), Ponnankipuram, Avenue road, New street. TI CYCLE AREA : Cholapuram Main road, Complete Thiruvenkata nagar, Stedford Hospital, Lenin nagar, Teachers colony, Sivananda nagar, Municipal Court and CTH road, Post office, Railway station road, School area, Ramapuram, South park st, Ambattur market, Thasildhar office

Böylece ipi bu şekilde bölmek istiyorum.

Power supply will be suspended in the following areas on 13-04-15 between 9.00 A.M. to 2.00 P.M. for maintenance work
NUNGAMBAKKAM AREA
Nungambakkam High road(Door no. 33 to 66)
Ponnankipuram
Avenue road
...........
Thasildhar office

Peki bu android nasıl alabilirim, değerleri almak için bana yardım et

1
@ LachlanGoodhew-Cook \ n neye benzer?
katma yazar Scary Wombat, kaynak
boşluk yerine sınırlayıcıdan yararlanın
katma yazar Randyka Yudhistira, kaynak
; veya $ veya % veya & gibi
katma yazar Randyka Yudhistira, kaynak
Giriş dizginize "burada yeni satır" anlamına gelen özel bir karakter girin
katma yazar Lachlan Goodhew-Cook, kaynak
Daha çok girişinizde görünmeyecek özel bir karakter gibi. Girişinizi başka şekillerde bölmenizi tavsiye ederim. Girişin biçimini kontrol ederseniz, bir nesne olarak göndermeye bakardım.
katma yazar Lachlan Goodhew-Cook, kaynak
Daha çok girişinizde görünmeyecek özel bir karakter gibi. Girişinizi başka şekillerde bölmenizi tavsiye ederim. Girişin biçimini kontrol ederseniz, bir nesne olarak göndermeye bakardım.
katma yazar Lachlan Goodhew-Cook, kaynak
Ne tür bir sınırlayıcı? Hiç bir fikrim yok
katma yazar Jos Sat, kaynak

6 cevap

(?<=[a-z])\.(?=\s*[A-Z])|[,:]

Bunu deneyebilirsiniz. Demoyu izleyin.

https://regex101.com/r/sJ9gM7/88

Java için olurdu

(?<=[a-z])\\.(?=\\s*[A-Z])|[,:]
3
katma
@JosSat (? <= [A-z]) \\. (? = \\ s * [A-Z]) | [:] öğesini kullanın.
katma yazar vks, kaynak
bu String kullanılırken hata aldım [] result = subString.split (('? <= [a-z]) \. (? = \ s * [A-Z]) | [:]');
katma yazar Jos Sat, kaynak
Teşekkür ederim.
katma yazar Jos Sat, kaynak
(?<=[a-z])\.(?=\s*[A-Z])|[,:]

Bunu deneyebilirsiniz. Demoyu izleyin.

https://regex101.com/r/sJ9gM7/88

Java için olurdu

(?<=[a-z])\\.(?=\\s*[A-Z])|[,:]
3
katma
@JosSat (? <= [A-z]) \\. (? = \\ s * [A-Z]) | [:] öğesini kullanın.
katma yazar vks, kaynak
bu String kullanılırken hata aldım [] result = subString.split (('? <= [a-z]) \. (? = \ s * [A-Z]) | [:]');
katma yazar Jos Sat, kaynak
Teşekkür ederim.
katma yazar Jos Sat, kaynak

"," 'den ayrılabilirsiniz (uygulanması kolaydır. Çevrimiçi olarak pek çok ders vardır).

Lütfen önce kendiniz uygulamaya çalışın ve uygulamada sorunla karşılaşırsanız, sadece soru sorun.

0
katma

"," 'den ayrılabilirsiniz (uygulanması kolaydır. Çevrimiçi olarak pek çok ders vardır).

Lütfen önce kendiniz uygulamaya çalışın ve uygulamada sorunla karşılaşırsanız, sadece soru sorun.

0
katma

What you are trying to do is very hard, unless it involves a lot of hardcoding or reconsidering how you store a string. Computers don't work like human brains, so you can only tell them at which character you want it to split or at which index of character. I'd advise you to use some String which will signal intent to breaking line, like (line feed), then you can use String built-in method:

String array[] = string.split("");
0
katma

What you are trying to do is very hard, unless it involves a lot of hardcoding or reconsidering how you store a string. Computers don't work like human brains, so you can only tell them at which character you want it to split or at which index of character. I'd advise you to use some String which will signal intent to breaking line, like (line feed), then you can use String built-in method:

String array[] = string.split("");
0
katma