java regex pipe problem

I was trying to split a string to an array. and the special character was | (pipe).

String[] incomings=income.split("|");

and here is the out for income=”abcd|efg”


{"a","b","c","d","e","f","g"}

then I understand that this pipe char turns this issue an regex one and doing some strange stuff 🙂 after some research I found the solution. here is the solution for regex pipe


incomings=income.split(Pattern.quote("|"));

this makes the output for same situation like this:

{"abcd","efg"}

lovely

RegEx

Regular Expression olarak bilinir. özünde textlerin sql i gibi bir tanımlama yapılabilir. daha anlamlı uzun açıklamak için misal elimizde bir text var ve içinde 90-555-5555555 gibi geçen bir stringi aramak istiyoruz. nasıl yapabiliriz dediğimizde.

Binary search ot search bok search diyenler çıkacaktır hatta dictionary yapar ordan en hızlı bulurum diyen çıkacaktır. eminimde yapılır 🙂 peki bunu implement etmek ne kadar zaman alacaktır tahminen 2 gün. hadi iyi coder olsun sağlam çalışan bir kod koyması 5 saat. bu arada string bu “90-555-5555555” değilde “90-999-5555555” olursa nolucak algoritmamı değişcek yok iyi coderim ben harika yazdım onu parametrik çalışıo peki evladım aranacak stringi “амина çаким <клавые> русçа олду” yaptım şimdi nolucak yamulcak şimdi olmasa illa biyerde çatlar. o sebep regex tavsiye ediyoruz.

az evelki örneği çözen regex patterni:”[+]d+[-]d+[-]d+” istediğin kadar değiştir kaçırmaz. regex libleri her dil ortamında bulunun string arama işlemlerinde en uygun oturmuş algoritmaları barındıran liblerdir. bir regex libinde annesini bile bulabileceğini söyleyen bir deyim duymuşdum. yani içinde ne var hiç sormayın ama güzel çalışıo 🙂 kullanalım kullandıralım.