Thread overview
Metin Bölme'yle ilgili bir soru(n)
Jan 17, 2018
Abdullah
Jan 22, 2018
Salih Dinçer
Jan 25, 2018
Abdullah
Jan 25, 2018
Salih Dinçer
Feb 13, 2018
Salih Dinçer
Feb 20, 2018
Abdullah
January 17, 2018

'abc "d e f g" 12' gibi bir metni '.split()' kullanarak bölmek istiyorum. Ama metnin hem 'boşluk'lara hemde '" "' göre ayrılması gerekiyor, şunun gibi:

'writeln(metin);'

'==["abc", "d e f g", "12"]'

Aklımdaki senaryo; '.split''le boşluklara göre ayırmadan '.indexOf''la '" "' ayırmak. Nasıl yapabilirim?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 17, 2018

Bunun kolay yolunu bilmiyorum. Ben olsam std.algorithm.findSplit veya std.algorithm.splitter gibi şeyler kullanırdım.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 22, 2018

Bu sorunun (multi-pattern) kolay bir çözümü std.regex modülünde mevcut:

import std.stdio, std.regex;

void main() {
	string metin =`Verdiğim yanıtı, Yusuf İzzet Paşa, toplantıda bulunanlara `~
	`bildirdiği zaman Reşit Bey ayağa kalkarak, Beyler! Bu yanıt, "göğsünüzü `~
	`kapayın!" demektir. Biliyorsunuz ki, askerlerin göğüslerinin kapalı `~
	`bulunması sıkı düzen ereğidir. demiş. Reşit Bey'in "Başkan bizi askerce`~
	`sıkıdüzen altına almak istiyor" demek istediği anlaşılıyor. "Nutuk`~"\n" ~
	`22 Aralık 1920 günü"`;

	// multi-pattern regex example (package.d 407. satır)
	auto multi = regex([`\w+`, `"[^"]*"`]);
	foreach (m; metin.matchAll(multi)) {
		m.hit.writeln();
	}
}

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 25, 2018

Red diliyle tırnak işaretlerinin arasındaki boşlukları farklı bir sembolle değiştirdim, o bölümde boşluk kalmadığı için tek parça olarak göründü, işlemden sonra geri boşluklu hâline çevirdim.

Regex konusunda iyi değilim, örnekteki multipattern neresi?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

January 25, 2018

Bahsettiğin 3 aşamalı değişim ilk akla gelen zihin algoritması ama bu tür şeyler ne kadar optimum tartışılır. Regular Expression'lar hem hızlı hem de esnek olabiliyorlar, özellikle de D'de :)

Çoklu deseni (multi-patern) virgül ile ayrırarak şu şekilde uyarladım: '[\w+, "[^"]*"]'

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

February 13, 2018

Konuyla alakalı bir site ile karşılaştım:

https://regexr.com/

Benim gibi Regular Expression'ları sevenlerdenseniz hoşunuza gidecek!

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

February 20, 2018

Red'in parse'yla ilgileniyorum, o regex'den sayılır mı bilmiyorum. Yapacağım iş(ler) için çok daha kullanışlı geldi, teşekkürler

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]