Eğitim
Modül
C#’ta yerleşik dize veri türü yöntemlerini kullanarak dizelerin içeriğini değiştirme - Training
Dizeleri değiştirmek için C# dilinde yerleşik dize veri türü yöntemlerini kullanarak keşfedin.
Bu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Visual Studio, metin bulmak ve değiştirmek için .NET normal ifadeleri kullanır.
Aşağıdaki tabloda bazı normal ifade karakterleri, işleçler, yapılar ve desen örnekleri yer alır. Daha kapsamlı bir referans için Düzenli ifade dilibölümüne bakın.
Amaç | İfade | Örnek |
---|---|---|
Herhangi bir tek karakteri (satır sonu dışında) eşleştirin. Daha fazla bilgi için bkz. Herhangi bir karakter. | . |
a.o "around" içindeki "aro" ve "about" içindeki "abo" ile eşleşir ancak "across" içindeki "acro" ile eşleşmez. |
Önceki ifadenin sıfır veya daha fazla örneğini eşleştirin (mümkün olduğunca çok karakter eşleştirin). Daha fazla bilgi için bkz. Sıfır veya daha fazla kez eşleştirme. | * |
a*r , "raf"ta "r", "ark"ta "ar" ve "aardvark"ta "aar" ile eşleşir |
Herhangi bir karakteri sıfır veya daha fazla kez eşleştirin. | .* |
c.*e "raket"te "cke", "comment" içinde "comme" ve "code" içinde "code" ile eşleşir |
Önceki ifadenin bir veya daha fazla örneğini eşleştirin (mümkün olduğunca çok karakter eşleştirin). Daha fazla bilgi için bkz. Bir veya daha fazla kez eşleştirme. | + |
e+d "besleyici cihazı" içindeki "eed" ve "solmuş" içindeki "ed" ile eşleşir |
Herhangi bir karakteri bir veya daha fazla kez eşleştirin. | .+ |
e.+e "feeder" içindeki "eede" ile eşleşir ancak "feed" içinde eşleşme bulunmaz |
Önceki ifadenin sıfır veya daha fazla örneğini eşleştirin (mümkün olduğunca az karakter eşleştirin). Daha fazla bilgi için bkz. Sıfır veya daha fazla kez eşleştir (tembel eşleme). | *? |
\w*?d "fad" ve "ed" ile eşleşir fakat gecikmeli eşleşme nedeniyle "faded" sözcüğünün tamamıyla eşleşmez. |
Önceki ifadenin bir veya daha fazla örneğini eşleştirin (mümkün olduğunca az karakter eşleştirin). Daha fazla bilgi için bkz. Bir veya daha fazla kez eşleştir (tembel eşleşme). | +? |
e\w+? "asleep" içinde "ee" ve "faded" içinde "ed" ile eşleşir ancak "fade" içinde eşleşme bulamaz. |
Eşleştirme dizesini bir satır veya dizenin başına bağlama | ^ |
^car yalnızca satırın başında göründüğünde "araba" sözcüğüyle eşleşir |
Eşleştirme dizesini çizginin sonuna bağlayın | \r?$ |
car\r?$ yalnızca satırın sonunda göründüğünde "araba" ile eşleşir |
Eşleştirme dizesini dosyanın sonuna bağlama | $ |
car$ yalnızca dosyanın sonunda göründüğünde "araba" ile eşleşir |
Kümedeki herhangi bir tek karakteri eşleştirme | [abc] |
b[abc] "ba", "bb" ve "bc" ile eşleşir |
Karakter aralığındaki herhangi bir karakteri eşleştirme | [a-f] |
be[n-t] , "between" kelimesindeki "bet", "beneath" kelimesindeki "ben" ve "beside" kelimesindeki "bes" ile eşleşir, ancak "below" kelimesinde eşleşme bulmaz. |
Parantez içinde yer alan ifadeyi yakalama ve örtük olarak numaralandırma | () |
([a-z])X\1 "aXa" ve "bXb" ile eşleşir ancak "aXb" ile eşleşmez. "\1", "[a-z]" ifadesinin ilk grubuna atıfta bulunur. Daha fazla bilgi için bkz. Yakalama grupları ve değiştirme kalıpları. |
Eşleşmeyi geçersiz kılma | (?! abc) |
real(?!ity) "gerçek" ve "gerçekten" kelimelerinde geçen "gerçek" kısmını bulur ama "gerçeklik" kelimesinde bulmaz. Ayrıca "realityreal" kelimesinde ikinci "gerçek" kısmını bulur, ancak ilkini bulmaz. |
Belirli bir karakter kümesinde olmayan herhangi bir karakteri eşleştirin. Daha fazla bilgi için bkz. Negatif karakter grubu. | [^abc] |
be[^n-t] "before" içinde "bef", "behind" içinde "beh" ve "below" içinde "bel" ile eşleşir, ancak "beneath" içinde eşleşme bulmaz. |
Önceki ifadeyi veya simgeden sonraki ifadeyi eşleştirme | | |
(sponge|mud) bath "sünger banyosu" ve "çamur banyosu" ile eşleşir |
Ters eğik çizgiyi izleyen karakter kaçış | \ |
\^ ^ karakteriyle eşleşir |
Önceki karakterin veya grubun yineleme sayısını belirtin. Daha fazla bilgi için bkz. Tam olarak n kez eşleştir. | {n}, burada 'n' yineleme sayısıdır |
x(ab){2}x "xababx" ile eşleşirx(ab){2,3}x "xababx" ve "xabababx" ile eşleşir, ancak "xababababx" ile eşleşmez. |
Unicode kategorisindeki metniile eşleştir. Unicode karakter sınıfları hakkında daha fazla bilgi için bkz. Unicode Standart 15.0 Karakter Özellikleri. | \p{X}, burada "X" Unicode sayıdır. |
\p{Lu} , "Thomas Doe" içindeki "T" ve "D" ile eşleşir |
Sözcük sınırı eşleştirme | \b (Karakter sınıfı dışında \b bir sözcük sınırı belirtir ve karakter sınıfının içinde \b bir geri al alanı belirtir.) |
\bin "inside" kelimesindeki "in" ile eşleşir ancak "pinto" içinde eşleşme bulamaz. |
Satır sonunu eşleştirme (yani, satır başı ve ardından yeni bir satır veya yalnızca yeni satır) | \r?\n |
End\r?\nBegin "End" ve "Begin" ile yalnızca "End" bir satırdaki son dize olduğunda ve "Begin" bir sonraki satırdaki ilk dize olduğunda eşleşir |
herhangi bir sözcük karakterini eşleştirin | \w |
a\wd "add" ve "a1d" ile eşleşir ancak "a d" ile eşleşmez |
herhangi bir boşluk karakterini eşleştirin | \s |
Public\sInterface "Ortak Arabirim" tümceciğiyle eşleşir |
herhangi bir ondalık basamak karakterini eşleştirin | \d |
\d "wd40" içindeki "4" ve "0" ile eşleşir |
Bazı işleçleri ve yapıları onaltılık bir sayıyla eşleşecek şekilde birleştiren örnek normal ifade \b0[xX]([0-9a-fA-F]+)\b
. Bu ifade "0xc67f" ile eşleşir ancak "0xc67g" ile eşleşmez.
İpucu
Windows işletim sistemlerinde çoğu satır "\r\n" (satır başı ve ardından yeni bir satır) ile biter. Bu karakterler görünür değildir, ancak düzenleyicide bulunur ve .NET normal ifade hizmetine geçirilir. Web'den veya Windows dışı bir işletim sisteminden dosyalarla ilgilenirken, yeni satırı yalnızca satır sonu için kullanma olasılığını hesaba eklediğinizden emin olun.
Yakalama grubu, normal ifadenin alt ifadesini belirler ve giriş dizesinin alt dizesini yakalar. Yakalanan grupları normal ifadenin içinde (örneğin, yinelenen bir sözcüğü aramak için) veya bir değiştirme düzeninde kullanabilirsiniz. Ayrıntılı bilgi için bkz. normal ifadelerde gruplandırma yapıları.
Numaralandırılmış bir yakalama grubu oluşturmak için, alt ifadeyi normal ifade desenindeki parantezlerle çevreleyin. Yakalamalar, normal ifadedeki açma parantezinin konumuna göre soldan sağa otomatik olarak numaralandırılır. Yakalanan gruba erişmek için aşağıdaki örnekleri göz önünde bulundurun:
Normal ifadeiçinde: \number
kullanın. Örneğin, normal ifadedeki \1
(\w+)\s\1
(\w+)
ilk yakalama grubuna başvurur.
Değişim deseninde: $number
kullanın. Örneğin, gruplandırılmış normal ifade (\d)([a-z])
iki grup tanımlar: ilk grup tek bir ondalık basamak içerir ve ikinci grup ile zarasında tek bir karakter içerir. İfade şu dizede dört eşleşme bulur: 1a 2b 3c 4d. Değiştirme dizesi z$1
yalnızca ilk gruba ($1
) başvurur ve dizeyi z1 z2 z3 z4dönüştürür.
Aşağıdaki görüntüde bir düzenli ifade (\w+)\s\1
ve bir değiştirme dizesi $1
gösterilmektedir. Hem normal ifade hem de değiştirme deseni, otomatik olarak numaralandırılmış ilk yakalama grubuna başvurur 1. Visual Studio'da Hızlı Değiştir iletişim kutusunda Tüm değiştir'i seçtiğinizde, yinelenen sözcükler metinden kaldırılır.
İpucu
Hızlı Değiştir iletişim kutusunda Normal İfadeleri Kullan düğmesini seçtiğinizden emin olun veya Alt+Etuşlarına basın.
Yakalama grubunun otomatik numaralandırmasına güvenmek yerine bir ad verebilirsiniz. Adlandırılmış yakalama grubunun söz dizimi (?<name>subexpression)
şeklindedir.
Adlandırılmış yakalama grupları, sayı ile belirtilmiş yakalama grupları gibi, normal ifadenin içinde veya bir yerine koyma deseni içinde kullanılabilir. Adlandırılmış yakalama grubuna erişmek için aşağıdaki örnekleri göz önünde bulundurun:
Normal ifadeiçinde: \k<name>
kullanın. Örneğin, normal ifadedeki \k<repeated>
(?<repeated>\w+)\s\k<repeated>
repeated
adlı ve alt ifadesi \w+
yakalama grubuna başvurur.
Değiştirme deseninde: ${name}
kullanın. Örneğin, ${repeated}
.
Aşağıdaki görüntüde (?<repeated>\w+)\s\k<repeated>
normal ifade olarak ve ${repeated}
değiştirme dizesi gösterilmektedir. Düzenli ifade ve değiştirme şablonu, repeated
adlı yakalama grubuna referans verir. Visual Studio'da Hızlı Değiştir iletişim kutusunda Tüm değiştir'i seçtiğinizde, yinelenen sözcükler metinden kaldırılır.
İpucu
Hızlı Değiştir iletişim kutusunda Normal İfadeleri Kullan düğmesini seçtiğinizden emin olun (veya Alt +Etuşuna basın).
Adlandırılmış yakalama grupları hakkında daha fazla bilgi için bkz. Adlandırılmış eşleşen alt ifadeler. Değiştirme desenlerinde kullanılan normal ifadeler hakkında daha fazla bilgi için bkz. normal ifadelerde değiştirmeler.
Desen | Açıklama |
---|---|
int ([_A-Za-z][_A-Za-z0-9]*) |
Tek tamsayı tanımlarını eşleştirin. Tanımlayıcılar bir büyük veya küçük harfle, ardından sıfır veya daha fazla harfle (* ile gösterilir) harf veya sayılarla başlar. Tanımlayıcı dış parantezler tarafından $1 olarak yakalanır. |
(private|internal|public)*\s*([\w]+\s+)int\s+([_A-Za-z][_A-Za-z0-9]*)\s+=\s+[+-]+(\d)+ |
C# tamsayı bildirimlerinde, tamsayı değişmez değerleriyle başlatılan ifadeleri, erişim düzeyi, const veya static gibi değiştiriciler, tanımlayıcı ve tanımlı değer gibi çeşitli bölümlere eşleştirerek yakalayın. En az bir boşluk karakteri için \s+ kullanılmasına veya boşluk oluşabiliyorsa ya da oluşmuyorsa \s* kullanılmasına dikkat edin. |
foreach\s*\(([\w\d]*)\s+([\w\d]*)\s+in\s+(.*)\) |
foreach döngüsünün açılış çizgisini eşleştirin. Harfi parantezler ters eğik çizgi (\ ) ile kaçırılır. Çeşitli gruplar, $1 , $2 ve $3 olarak ayarlanmamış parantezler tarafından yakalanır. |
#define\s+([_A-Za-z][_A-Za-z0-9]*) |
#define tanımlarıyla eşleşir (varsa değeri olmadan). Tanımlanan belirteç $1 içinde depolanır. |
#include\s+["<](.*)[">] |
C++ kaynak dosyasında include dosyalarını eşleştir. |
Eğitim
Modül
C#’ta yerleşik dize veri türü yöntemlerini kullanarak dizelerin içeriğini değiştirme - Training
Dizeleri değiştirmek için C# dilinde yerleşik dize veri türü yöntemlerini kullanarak keşfedin.
Belgeler
Kod aramak ve değişiklik yapmak için Dosyalar'da Değiştir'i kullanma - Visual Studio (Windows)
Belirtilen bir dosya kümesinin kodunu bir dize veya ifade için aramak ve bulunan eşleşmelerin bazılarını veya tümünü değiştirmek için Dosyalarda Değiştir özelliğini keşfedin.
Metni bul ve değiştir ve çoklu imleç seçimi - Visual Studio (Windows)
Visual Studio'daki Bul ve Değiştir özelliğini keşfedin ve bir desenin örneklerini bulmak ve değiştirmek için özelliği nasıl kullanacağınızı keşfedin.