2016-04-14 17 views
0

Bu yüzden bir oyun yapılandırmasında (.txt) yüksekliği düzenlemeye çalışıyorum ve yaptığım zaman sadece son numarayı değiştireceğim. Bunun bir kayan nokta olduğu için olduğuna inanıyorum. Örneğin, [height = 0.11] ancak kaldırma işlevi int'leri alır? Metin dosyasında Metin dosyasındaki bir değeri yalnızca son sayının değiştirilmesi mi gerekiyor?

: height = new yüksekliği ferman sonra 0,11

(0,2): height = 0.10.2

Şu anda var kodu:

string text = File.ReadAllText(carDataFile + "\\steamapps\\common\\Car Mechanic Simulator 2015\\cms2015_Data\\Datacars\\car_BoltHellcat.txt"); 
    const string Pattern = @"height= (?<Number>[\d\.])"; 
    Match match = Regex.Match(text, Pattern, RegexOptions.IgnoreCase); 

    if (match.Success) 
    { 
     int index = match.Groups["Number"].Index; 
     int length = match.Groups["Number"].Length; 

     text = text.Remove(index, length); 
     text = text.Insert(index, height.ToString()); 

     File.WriteAllText(carDataFile + "\\steamapps\\common\\Car Mechanic Simulator 2015\\cms2015_Data\\Datacars\\car_BoltHellcat.txt", text); 
    } 
+0

Üzgünüm Luke O 02:00 ve ben yorgunum. : P – ActualDragonTears

cevap

0

Bunu, son basamak kümesini değiştirmeye çalışmak yerine [height= 0.11] değerini değiştirerek yapmayı başardım. Sorunun, hangi grubun doğru eşleşmeye ve doğru dizin/uzunluğa sahip olduğunu belirlemeye çalışırken olduğunu düşünüyorum.

string text = "stuff before [height= 0.11] stuff after"; 
string height = "height= 0.2"; 
const string Pattern = @"height= (\d+(\.\d{1,2})?)"; 
Match match = Regex.Match(text, Pattern, RegexOptions.IgnoreCase); 

if (match.Success) 
{ 
    int index = match.Index; 
    int length = match.Length; 

    text = text.Remove(index, length); 
    text = text.Insert(index, height.ToString()); 

    Console.WriteLine(text); 
} 

Çıkışlar:

stuff before [height= 0.2] stuff after 
+0

Çok teşekkür ederim! Bir çeşit "Yazarlar bloğu" vardı ve sadece düşünemedim. – ActualDragonTears

+0

Sorun değil. Bu sizin için çalışıyorsa, bunu cevap olarak kabul edebilirsiniz. –

+0

Bu yüzden ihtiyacım olana uyarlamaya çalıştım ama şimdi metin dosyasını değiştirmiyor mu? Kod: http://pastebin.com/qrwS33Q7 – ActualDragonTears

İlgili konular