IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Dersleri (https://www.ircforumlari.net/mirc-scripting-dersleri/)
-   -   $replacex ve $istok(text,token[,min],C) (https://www.ircforumlari.net/mirc-scripting-dersleri/826433-replacex-ve-istoktexttokenminc.html)

Feragat 22 Haziran 2019 21:31

$replacex ve $istok(text,token[,min],C)
 
Anlatım Tarihi: 31 Mayıs 2015

- $replacex -

- mirc.chm açıklaması -

Kod:

$replacex(string,substring,newstring,...)
 Replaces any occurrence of substring in string with newstring except for replacements that have already been made.

Note: You can use $replacexcs() for a case-sensitive version.

$replacex ile $replace arasındaki temel fark, daha önce bir kez değiştirilen dizenin tekrar değiştirilmemesi.

Örnek:
Kod:

//Echo -a $replace(abc,a,b,b,c,c,d) - ddd

//Echo -a $replacex(abc,a,b,b,c,c,d) - bcd

$replace tanımında ddd sonucu aldık. İlk karakterden itibaren değişimleri analiz edelim.

İlk Karakter a harfinin dönüşüm aşaması.
1- a -> b
2- b -> c
3- c -> d
Sonuç: d

İkinci Karakter b harfinin dönüşüm aşaması.
1- b -> c
2- c -> d
Sonuç: d

Üçüncü Karakter c harfinin dönüşün aşaması.
1- c -> d
Sonuç: d
Tanımımızın Sonucu: ddd

-

$replacex tanımında bcd sonucu aldık. İlk karakterden itibaren değişimleri analiz edelim.

İlk Karakter a harfinin dönüşüm aşaması.
1- a -> b
Sonuç: b

İkinci Karakter b harfinin dönüşüm aşaması.
1- b -> c
Sonuç: c

Üçüncü Karakter c harfinin dönüşüm aşaması.
1- c -> d
Sonuç: d
Tanımımızın Sonucu: bcd

- Görüldüğü gibi $replacex tanımı her dizede 1 kez değişiklik yaptı. Farklı örnekler yaparak daha iyi anlarsınız.

Not: Büyük küçük harf duyarlılığı için $replacexcs() kullanabilirsiniz.


--


- $istok - $istok(text,token[,min],C) -

[min] dizesi mirc.chm içinde yer almıyor. O yüzden burada kısaca birkaç örnek ile açıklayayım.
Belirtilen token, text içinde en az min sayısı kadar tekrar ediyorsa sonuç $true döner, değilse $false döner.

Örnek:

Kod:

1- //echo -a $istok(a b c d b x b y, b, 1, 32) - $true
2- //echo -a $istok(a b c d b x b y, b, 2, 32) - $true
3- //echo -a $istok(a b c d b x b y, b, 3, 32) - $true
4- //echo -a $istok(a b c d b x b y, b, 4, 32) - $false

1. Örnekte Text içinde (a b c d b x b y) geçen b karakterini baz aldık ve minimum tekrar sayısını 1 olarak belirttik ve sonuç true döndü. $istok(a b c d b x b y, b, 1, 32) b hafi en az 1 defa tekrar ediyor ve sonuç $true.

2. Örnekte $istok(a b c d b x b y, b, 2, 32) b karakteri en az 2 defa tekrar ediyorsa dedik ve sonuç $true döndü.

3. Örnekte $istok(a b c d b x b y, b, 3, 32) b karakteri en az 3 defa tekrar ediyorsa dedik ve sonuç yine $true döndü.

4. Örnekte $istok(a b c d b x b y, b, 4, 32) b karakteri en az 4 defa tekrar ediyorsa dedik ve sonuç $false döndü. Çünkü b karakteri text içinde 3 defa tekrar ediyor.

Kolay gelsin..

YasakLım 26 Nisan 2021 00:48

Cevap: $replacex ve $istok(text,token[,min],C)
 
#yazıstil on
on *:input:*:{
if ($left($1,1) != /) {
var %Jnk
var %e = 0
while %e != $numtok($1-,32) {
inc %e 1
var %Jnk = %Jnk $upper($left($token($1-,%e,32),1)) $+ $lower($right($gettok($1-,%e,32),-1))
}
msg $active $replace(%Jnk,I,i,s,S,l,L)
halt
}
}
#yazıstil end
menu query,channel {
.Yazı Stil
..Aç:.enable #yazıstil
..Kapa:.disable #yazıstil
}

Ya arkadaslar bu kodda her kelime başlangıcı büyük ben bunu her cümle başlangıcı yapmak istiyorum
Örnek Sohbet odaLarına hoş geLdiniz gibi olmasını istiyorum yardımcı olurmusunuz

CoCoRiCo 27 Nisan 2021 13:54

Cevap: $replacex ve $istok(text,token[,min],C)
 
//echo :: $regsubex(foo bar moo bla,/(.)/iu,$upper(\t))
//echo :: $regsubex(foo bar moo bla,/(^.|\s.)/giu,$upper(\t))


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 19:28.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk