Diskuze: Nahrazení určité části řetězce
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
napiš si na to cyklus
string mujTretiOktet = "";
int count = 0;
foreach(char znak in myIPstring)
{
if(znak=='.'){
count++;
}
if(count>=3){
mujTretiOktet+=znak;
}
}
myIPstring.Replace(mujtretiOktet,"muj novy oktet");
Už to dnes píšu z posledních sil, takže možná tam mám chybku, ale snad jsem tě nasměroval. Určitě bude i jednodušší clever řešení.
public class Program
{
private static readonly string thirdSegmentValue = "100";
private static readonly string ipAddressBase = "10.31.52.162";
public static void Main(string[] args)
{
Console.WriteLine($"Old ip address: {ipAddressBase}");
Console.WriteLine($"New ip address: {GetNewIpAddress()}");
Console.ReadKey();
}
private static string GetNewIpAddress()
{
var stringArr = ipAddressBase.Split('.');
stringArr[2] = thirdSegmentValue;
return string.Join('.', stringArr);
}
}
Nebo muzes pouzit regularni vyraz. V Php by to vypadalo treba takto
<?php
$str = "543.543.543.543";
preg_replace('~^(\d+)\.(\d+)\.\d+\.(\d+)$~', "$1.$2.123.$3" , $str);
preg_replace('~^([0-9]+)\.([0-9]+)\.[0-9]+\.([0-9]+)$~', "$1.$2.123.$3" , $str);
// ^...$ zacatek a konec stringu, mohlo by to byt i bez techto znacek
// () zavorka, $1, $2, $3
// \d+ cislo (0-9), 1-n krat
// \. tecka, 1 krat
?>
Zobrazeno 4 zpráv z 4.