{"id":28976,"date":"2025-09-06T00:45:29","date_gmt":"2025-09-05T21:45:29","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/"},"modified":"2025-09-06T00:45:29","modified_gmt":"2025-09-05T21:45:29","slug":"powershell-belirli-bir-karakterden-onceki-tum-metni-silme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/","title":{"rendered":"PowerShell: Belirli Bir Karakterden \u00d6nceki T\u00fcm Metni Silme"},"content":{"rendered":"<p># PowerShell: Belirli Karakterden \u00d6nceki Metni Silme<\/p>\n<p><strong>Meta A\u00e7\u0131klamas\u0131:<\/strong> PowerShell kullanarak belirli bir karakterden \u00f6nceki t\u00fcm metni nas\u0131l h\u0131zl\u0131 ve etkili bir \u015fekilde silece\u011finizi \u00f6\u011frenin.  Bu ad\u0131m ad\u0131m rehber, yeni ba\u015flayanlardan uzmanlara kadar herkes i\u00e7in pratik \u00f6rnekler ve performans optimizasyon ipu\u00e7lar\u0131 sunuyor.  Fatih Soysal&#8217;\u0131n haz\u0131rlad\u0131\u011f\u0131 bu makale ile PowerShell yeteneklerinizi geli\u015ftirin!<\/p>\n<p>Log dosyalar\u0131n\u0131 i\u015flerken, veri temizleme i\u015flemleri yaparken veya metin manip\u00fclasyonu gerektiren herhangi bir g\u00f6revde, belirli bir karakterden \u00f6nceki metni silme ihtiyac\u0131 s\u0131kl\u0131kla ortaya \u00e7\u0131kar.  \u00d6rne\u011fin, bir log dosyas\u0131nda hata kodunu bulmak i\u00e7in hata mesaj\u0131n\u0131n ba\u015f\u0131ndaki gereksiz bilgileri temizlemek isteyebilirsiniz.  Bu makalede, PowerShell&#8217;de bu i\u015flemi nas\u0131l ger\u00e7ekle\u015ftirece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131z.  Farkl\u0131 senaryolara uygun \u00e7\u00f6z\u00fcmler sunarak, PowerShell becerilerinizi bir \u00fcst seviyeye ta\u015f\u0131man\u0131za yard\u0131mc\u0131 olaca\u011f\u0131z.<\/p>\n<p><strong>1. PowerShell Temelleri: String Manip\u00fclasyonu<\/strong><\/p>\n<p>PowerShell, g\u00fc\u00e7l\u00fc bir komut sat\u0131r\u0131 kabu\u011fu ve betik dilidir. Metin i\u015fleme konusunda olduk\u00e7a yeteneklidir.  String manip\u00fclasyonu i\u00e7in bir\u00e7ok yerle\u015fik cmdlet ve operat\u00f6r sunar.  Bu makalede, \u00f6zellikle <code class=\"language-\">-replace<\/code> operat\u00f6r\u00fcn\u00fc ve <code class=\"language-\">Substring()<\/code> metodunu kullanaca\u011f\u0131z.  <code class=\"language-\">-replace<\/code> operat\u00f6r\u00fc, belirli bir kal\u0131b\u0131 (regex veya basit metin) ba\u015fka bir metinle de\u011fi\u015ftirmek i\u00e7in kullan\u0131l\u0131r. <code class=\"language-\">Substring()<\/code> metodu ise bir dizenin belirli bir b\u00f6l\u00fcm\u00fcn\u00fc ay\u0131klamak i\u00e7in kullan\u0131l\u0131r.  Bu temel kavramlar\u0131 anlamak, daha ileri seviye teknikleri anlaman\u0131z i\u00e7in \u00f6nemlidir.  PowerShell&#8217;\u00fcn string manip\u00fclasyon yetenekleri hakk\u0131nda daha detayl\u0131 bilgi i\u00e7in [Fatih Soysal&#8217;\u0131n bloguna](https:\/\/fatihsoysal.com) g\u00f6z atabilirsiniz.<\/p>\n<p><strong>2. Yeni Ba\u015flayanlar \u0130\u00e7in: Belirli Karakterden \u00d6nceki Metni Silme (Ad\u0131m Ad\u0131m)<\/strong><\/p>\n<p><strong>Nas\u0131l Yap\u0131l\u0131r?  Basit bir \u00f6rnek ile belirli bir karakterden \u00f6nceki metni nas\u0131l silebiliriz?<\/strong><\/p>\n<p>\u00d6rne\u011fin, &#8220;\u00d6nemli Bilgi: Hata Kodu 123&#8221;  dizisinden &#8220;: &#8221; karakterinden \u00f6nceki k\u0131sm\u0131 silmek istiyoruz.  Bunun i\u00e7in a\u015fa\u011f\u0131daki basit komutu kullanabiliriz:<\/p>\n<pre class=\"language-powershell\"><code>$string = &quot;\u00d6nemli Bilgi: Hata Kodu 123&quot;\n$newString = $string -replace &quot;^.*:&quot;, &quot;&quot;\nWrite-Host $newString<\/code><\/pre>\n<p>Bu kodda, <code class=\"language-\">-replace \"^.*:\", \"\"<\/code>  k\u0131sm\u0131,  &#8220;^.*:&#8221; kal\u0131b\u0131n\u0131 bo\u015f bir string ile de\u011fi\u015ftirir.  &#8220;^&#8221; dizenin ba\u015flang\u0131c\u0131n\u0131, &#8220;.*&#8221; s\u0131f\u0131r veya daha fazla karakteri (nokta), &#8220;:&#8221; ise iki nokta \u00fcst \u00fcste karakterini temsil eder.  Sonu\u00e7 olarak,  &#8220;Hata Kodu 123&#8221; \u00e7\u0131kt\u0131s\u0131n\u0131 al\u0131r\u0131z.<\/p>\n<p><strong>3. Orta Seviye: Ger\u00e7ek Hayatta Kullan\u0131m \u00d6rnekleri ve Optimizasyon \u0130pu\u00e7lar\u0131<\/strong><\/p>\n<p><strong>Ger\u00e7ek d\u00fcnya senaryolar\u0131nda bu tekni\u011fi nas\u0131l kullanabiliriz ve performans\u0131 nas\u0131l optimize edebiliriz?<\/strong><\/p>\n<p>\u015eimdi, daha ger\u00e7ek\u00e7i bir senaryo ele alal\u0131m.  Bir log dosyas\u0131nda, her sat\u0131r\u0131n ba\u015f\u0131nda tarih ve saat bilgisi bulunmaktad\u0131r ve biz sadece hata kodlar\u0131n\u0131 \u00e7\u0131karmak istiyoruz.  Log dosyas\u0131 \u015fu \u015fekilde olsun:<\/p>\n<pre class=\"language-\"><code>2023-10-27 10:00:00 \u00d6nemli Bilgi: Hata Kodu 123\n2023-10-27 10:01:00 Uyar\u0131: Sistem Ba\u015flat\u0131l\u0131yor\n2023-10-27 10:02:00 Hata: Ba\u011flant\u0131 Hatas\u0131 - Kod 456<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki script, her sat\u0131rdaki hata kodunu ay\u0131klar:<\/p>\n<pre class=\"language-powershell\"><code>Get-Content log.txt | ForEach-Object {\n  $line = $_\n  $errorCode = $line -replace &quot;^.*:&quot;, &quot;&quot;\n  Write-Host $errorCode\n}<\/code><\/pre>\n<p>Bu script, <code class=\"language-\">Get-Content<\/code> cmdlet&#8217;i ile log dosyas\u0131n\u0131 sat\u0131r sat\u0131r okur ve her sat\u0131r i\u00e7in <code class=\"language-\">-replace<\/code> operat\u00f6r\u00fcn\u00fc kullanarak hata kodunu ay\u0131klar.  B\u00fcy\u00fck log dosyalar\u0131 i\u00e7in performans\u0131 art\u0131rmak i\u00e7in <code class=\"language-\">-replace<\/code> yerine daha h\u0131zl\u0131 bir y\u00f6ntem olan <code class=\"language-\">Substring()<\/code> metodunu kullanabiliriz.  Ancak, bu durumda hata kodunun her zaman &#8220;:&#8221; karakterinden sonra geldi\u011finden emin olmal\u0131y\u0131z.  E\u011fer  &#8220;: &#8221; karakterinden sonra her zaman hata kodu gelmiyorsa, daha geli\u015fmi\u015f regex kullan\u0131m\u0131 gerekebilir.<\/p>\n<p><strong>4. \u0130leri D\u00fczey: Performans Analizi ve Edge Case&#8217;ler<\/strong><\/p>\n<p><strong>B\u00fcy\u00fck veri k\u00fcmeleri i\u00e7in performans nas\u0131l optimize edilir ve beklenmedik durumlar (edge case&#8217;ler) nas\u0131l ele al\u0131n\u0131r?<\/strong><\/p>\n<p>B\u00fcy\u00fck log dosyalar\u0131 ile \u00e7al\u0131\u015f\u0131rken, performans kritik hale gelir.  <code class=\"language-\">-replace<\/code> operat\u00f6r\u00fc, regex kullan\u0131m\u0131 nedeniyle yava\u015f olabilir.  Bu durumda, <code class=\"language-\">Substring()<\/code> metodu veya daha geli\u015fmi\u015f regex teknikleri kullanarak performans\u0131 art\u0131rabiliriz.  \u00d6rne\u011fin, hata kodunun her zaman belirli bir uzunlukta oldu\u011funu biliyorsak, <code class=\"language-\">Substring()<\/code> metodu ile do\u011frudan ilgili b\u00f6l\u00fcm\u00fc alabiliriz.<\/p>\n<p>Ancak, ger\u00e7ek d\u00fcnya verileri her zaman m\u00fckemmel olmaz.  Baz\u0131 sat\u0131rlarda hata kodu olmayabilir veya &#8220;:&#8221; karakteri farkl\u0131 bir konumda olabilir.  Bu gibi edge case&#8217;leri ele almak i\u00e7in,  \u015fartl\u0131 ifadeler ve daha karma\u015f\u0131k regex kal\u0131plar\u0131 kullanmam\u0131z gerekebilir. \u00d6rne\u011fin, hata kodunun &#8220;:&#8221; karakterinden sonra gelmedi\u011fi durumlar\u0131 kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki gibi bir kod blo\u011fu ekleyebiliriz:<\/p>\n<pre class=\"language-powershell\"><code>Get-Content log.txt | ForEach-Object {\n  $line = $_\n  if ($line -match &quot;: (.*)&quot;) {\n    $errorCode = $matches[1]\n    Write-Host $errorCode\n  } else {\n    Write-Host &quot;Hata kodu bulunamad\u0131: $($line)&quot;\n  }\n}<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">-match<\/code> operat\u00f6r\u00fc ile daha geli\u015fmi\u015f bir regex kal\u0131b\u0131 kullanarak, &#8220;:&#8221; karakterinden sonra bir veya daha fazla karakteri yakal\u0131yoruz ve bu karakterleri <code class=\"language-\">$matches[1]<\/code> de\u011fi\u015fkenine at\u0131yoruz.  E\u011fer  &#8220;:&#8221; karakteri bulunmazsa, hata mesaj\u0131 yazd\u0131r\u0131yoruz.<\/p>\n<p><strong>5.  Regex Kullan\u0131m\u0131: Daha Karma\u015f\u0131k Durumlar \u0130\u00e7in<\/strong><\/p>\n<p><strong>Nas\u0131l daha karma\u015f\u0131k metin kal\u0131plar\u0131n\u0131 i\u015fleyebilecek \u015fekilde Regex kullanabiliriz?<\/strong><\/p>\n<p>Regex (Regular Expressions), karma\u015f\u0131k metin kal\u0131plar\u0131n\u0131 tan\u0131mlamak ve i\u015flemek i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r.  PowerShell&#8217;de <code class=\"language-\">-match<\/code> ve <code class=\"language-\">-replace<\/code> operat\u00f6rleri ile regex kullanabiliriz.  \u00d6rne\u011fin, hata kodu her zaman say\u0131sal olmayabilir ve baz\u0131 karakterler i\u00e7erebilir.  Bu durumda, daha kapsaml\u0131 bir regex kal\u0131b\u0131 kullanmam\u0131z gerekebilir:<\/p>\n<pre class=\"language-powershell\"><code>$string = &quot;\u0130\u015flem Ba\u015far\u0131s\u0131z: Hata Kodu ABC-123X&quot;\n$newString = $string -replace &quot;^.*?:\\s*(.*)&quot;, &quot;$1&quot;\nWrite-Host $newString<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code class=\"language-\">(.*)<\/code> ile &#8220;:&#8221; karakterinden sonraki t\u00fcm karakterleri yakal\u0131yoruz ve <code class=\"language-\">$1<\/code> ile yeni string&#8217;e ekliyoruz.  <code class=\"language-\">\\s*<\/code> ise s\u0131f\u0131r veya daha fazla bo\u015fluk karakterini temsil eder.<\/p>\n<p><strong>6.  Substring() Metodu: Alternatif Bir Yakla\u015f\u0131m<\/strong><\/p>\n<p><strong>Substring() metodu ile metin manip\u00fclasyonu nas\u0131l yap\u0131l\u0131r ve bu y\u00f6ntemin avantajlar\u0131 nelerdir?<\/strong><\/p>\n<p><code class=\"language-\">Substring()<\/code> metodu, belirli bir ba\u015flang\u0131\u00e7 ve biti\u015f indeksine g\u00f6re bir dizenin bir b\u00f6l\u00fcm\u00fcn\u00fc ay\u0131klamak i\u00e7in kullan\u0131l\u0131r.  E\u011fer hata kodunun konumu her zaman ayn\u0131ysa, <code class=\"language-\">Substring()<\/code> metodu <code class=\"language-\">-replace<\/code> operat\u00f6r\u00fcnden daha h\u0131zl\u0131 olabilir.  \u00d6rne\u011fin, hata kodu her zaman 20. karakterden sonra ba\u015fl\u0131yorsa:<\/p>\n<pre class=\"language-powershell\"><code>$string = &quot;2023-10-27 10:00:00 Hata Kodu 123&quot;\n$errorCode = $string.Substring(20)\nWrite-Host $errorCode<\/code><\/pre>\n<p>Ancak, bu y\u00f6ntemin dezavantaj\u0131, hata kodunun konumunun her zaman ayn\u0131 olmas\u0131 gerekti\u011fidir.  De\u011fi\u015fken konumlar i\u00e7in <code class=\"language-\">-replace<\/code> operat\u00f6r\u00fc veya regex kullanmak daha uygundur.<\/p>\n<p><strong>7.  Performans Optimizasyonu: B\u00fcy\u00fck Dosyalar \u0130\u00e7in \u0130pu\u00e7lar\u0131<\/strong><\/p>\n<p><strong>B\u00fcy\u00fck dosyalarla \u00e7al\u0131\u015f\u0131rken performans\u0131 nas\u0131l optimize edebiliriz?<\/strong><\/p>\n<p>B\u00fcy\u00fck dosyalarla \u00e7al\u0131\u015f\u0131rken, performans \u00f6nemli bir fakt\u00f6rd\u00fcr.  A\u015fa\u011f\u0131daki ipu\u00e7lar\u0131, performans\u0131 art\u0131rman\u0131za yard\u0131mc\u0131 olabilir:<\/p>\n<p>* <strong>Pipelining:<\/strong> <code class=\"language-\">Get-Content<\/code> ile dosyay\u0131 sat\u0131r sat\u0131r okuyarak ve <code class=\"language-\">ForEach-Object<\/code> ile her sat\u0131r\u0131 i\u015flemden ge\u00e7irerek pipeline kullan\u0131n.<br \/>\n* <strong>Paralel \u0130\u015flem:<\/strong>  <code class=\"language-\">ForEach-Object -Parallel<\/code> kullanarak i\u015flemleri paralel olarak \u00e7al\u0131\u015ft\u0131r\u0131n.<br \/>\n* <strong>Optimizasyon:<\/strong>  <code class=\"language-\">-replace<\/code> yerine, m\u00fcmk\u00fcnse <code class=\"language-\">Substring()<\/code> metodunu kullan\u0131n.<br \/>\n* <strong>Regex Optimizasyonu:<\/strong>  Regex kal\u0131plar\u0131n\u0131z\u0131 m\u00fcmk\u00fcn oldu\u011funca basit tutun.<br \/>\n* <strong>Bellek Y\u00f6netimi:<\/strong>  B\u00fcy\u00fck dosyalar\u0131 i\u015flerken, bellekte tutulan veri miktar\u0131n\u0131 minimize edin.<\/p>\n<p><strong>8.  Hata Y\u00f6netimi: Beklenmedik Durumlar \u0130\u00e7in \u00d6nlemler<\/strong><\/p>\n<p><strong>Beklenmedik durumlar (\u00f6rne\u011fin, dosyan\u0131n bulunmamas\u0131) nas\u0131l ele al\u0131n\u0131r?<\/strong><\/p>\n<p>Hata y\u00f6netimi, beti\u011finizin beklenmedik durumlarda \u00e7\u00f6kmesini \u00f6nlemek i\u00e7in \u00f6nemlidir.  <code class=\"language-\">try-catch<\/code> bloklar\u0131 kullanarak hatalar\u0131 yakalayabilir ve uygun \u015fekilde i\u015fleyebilirsiniz.  \u00d6rne\u011fin, dosyan\u0131n bulunmamas\u0131 durumunu ele almak i\u00e7in:<\/p>\n<pre class=\"language-powershell\"><code>try {\n  Get-Content log.txt | ForEach-Object { ... }\n}\ncatch {\n  Write-Error &quot;Dosya bulunamad\u0131: $_&quot;\n}<\/code><\/pre>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>Bu makalede, PowerShell&#8217;de belirli bir karakterden \u00f6nceki metni silmenin farkl\u0131 y\u00f6ntemlerini ve bunlar\u0131n performans\u0131n\u0131 inceledik.  Yeni ba\u015flayanlar i\u00e7in basit \u00f6rneklerden, ileri seviye kullan\u0131c\u0131lar i\u00e7in performans optimizasyonu ve hata y\u00f6netimi tekniklerine kadar geni\u015f bir yelpazede konu anlat\u0131ld\u0131.  Unutmay\u0131n ki, en iyi y\u00f6ntem, verilerinizin yap\u0131s\u0131na ve ihtiya\u00e7lar\u0131n\u0131za ba\u011fl\u0131d\u0131r.  Regex&#8217;in g\u00fcc\u00fcn\u00fc ve esnekli\u011fini kullanarak,  PowerShell ile metin manip\u00fclasyonunda uzmanla\u015fabilirsiniz.  Daha fazla bilgi ve ileri d\u00fczey PowerShell teknikleri i\u00e7in [Fatih Soysal&#8217;\u0131n bloguna](https:\/\/fatihsoysal.com) g\u00f6z atmay\u0131 unutmay\u0131n.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong>-replace operat\u00f6r\u00fc ile regex kullan\u0131rken dikkat edilmesi gerekenler nelerdir?<\/strong>  Regex kal\u0131plar\u0131n\u0131n do\u011fru yaz\u0131lmas\u0131 ve ka\u00e7\u0131\u015f karakterlerinin do\u011fru kullan\u0131lmas\u0131 \u00f6nemlidir.  Yanl\u0131\u015f yaz\u0131lm\u0131\u015f bir regex, beklenmedik sonu\u00e7lara veya performans sorunlar\u0131na yol a\u00e7abilir.<\/p>\n<p>2. <strong>B\u00fcy\u00fck dosyalar i\u00e7in hangi y\u00f6ntem daha h\u0131zl\u0131d\u0131r: -replace mi yoksa Substring()?<\/strong> Genellikle,  hata kodunun konumu sabit ise <code class=\"language-\">Substring()<\/code> metodu daha h\u0131zl\u0131d\u0131r.  Ancak, konum de\u011fi\u015fken ise veya daha karma\u015f\u0131k kal\u0131plar varsa, <code class=\"language-\">-replace<\/code> daha uygun olabilir. Performans testleri yaparak en uygun y\u00f6ntemi belirlemek en iyisidir.<\/p>\n<p>3. <strong>Hata y\u00f6netimi neden \u00f6nemlidir?<\/strong> Hata y\u00f6netimi, beti\u011finizin beklenmedik durumlarda \u00e7\u00f6kmesini \u00f6nler ve daha g\u00fcvenilir bir betik olu\u015fturman\u0131za yard\u0131mc\u0131 olur.<\/p>\n<p>4. <strong>Paralel i\u015flem nas\u0131l yap\u0131l\u0131r?<\/strong> <code class=\"language-\">ForEach-Object -Parallel<\/code> cmdlet&#8217;ini kullanarak i\u015flemleri paralel olarak \u00e7al\u0131\u015ft\u0131rabilirsiniz. Ancak, bu y\u00f6ntem her zaman performans\u0131 art\u0131rmayabilir, hatta baz\u0131 durumlarda performans\u0131 d\u00fc\u015f\u00fcrebilir.<\/p>\n<p>5. <strong>Regex&#8217;i daha iyi \u00f6\u011frenmek i\u00e7in nereden ba\u015flamal\u0131y\u0131m?<\/strong>  Regex konusunda bir\u00e7ok online kaynak mevcuttur.  Regex101.com gibi siteler, regex kal\u0131plar\u0131n\u0131 test etmek ve \u00f6\u011frenmek i\u00e7in kullan\u0131\u015fl\u0131 ara\u00e7lar sunar.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# PowerShell: Belirli Karakterden \u00d6nceki Metni Silme Meta A\u00e7\u0131klamas\u0131: PowerShell kullanarak belirli bir karakterden \u00f6nceki t\u00fcm metni nas\u0131l&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1319],"tags":[],"class_list":{"0":"post-28976","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-powershell","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PowerShell: Belirli Bir Karakterden \u00d6nceki T\u00fcm Metni Silme<\/title>\n<meta name=\"description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PowerShell: Belirli Bir Karakterden \u00d6nceki T\u00fcm Metni Silme\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-05T21:45:29+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"PowerShell: Belirli Bir Karakterden \u00d6nceki T\u00fcm Metni Silme\",\"datePublished\":\"2025-09-05T21:45:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/\"},\"wordCount\":1417,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"PowerShell\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/\",\"name\":\"PowerShell: Belirli Bir Karakterden \u00d6nceki T\u00fcm Metni Silme\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-09-05T21:45:29+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PowerShell: Belirli Bir Karakterden \u00d6nceki T\u00fcm Metni Silme\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PowerShell: Belirli Bir Karakterden \u00d6nceki T\u00fcm Metni Silme","description":"Hi\u00e7bir etiketi bulunamad\u0131.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/","og_locale":"tr_TR","og_type":"article","og_title":"PowerShell: Belirli Bir Karakterden \u00d6nceki T\u00fcm Metni Silme","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-09-05T21:45:29+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"8 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"PowerShell: Belirli Bir Karakterden \u00d6nceki T\u00fcm Metni Silme","datePublished":"2025-09-05T21:45:29+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/"},"wordCount":1417,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["PowerShell"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/","url":"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/","name":"PowerShell: Belirli Bir Karakterden \u00d6nceki T\u00fcm Metni Silme","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-09-05T21:45:29+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/powershell-belirli-bir-karakterden-onceki-tum-metni-silme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PowerShell: Belirli Bir Karakterden \u00d6nceki T\u00fcm Metni Silme"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/28976","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=28976"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/28976\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=28976"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=28976"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=28976"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}