Numara alıyorum, bir dizeye dönüştürmeye çalışıyorum ve üçlü olmayan tüm karakterleri değiştiriyorum.Üçlü olmayan karakterleri değiştirmek için Java regex negatif görünümü
Ör. 1222331
'dan geçersem, değiştir yöntemim 222
'u döndürmelidir. Bu modelin var olduğunu ancak değeri elde etmem ve ek mantık için bir dizeye kaydetmem gerekiyor. Bu dize boyunca yinelemek için bir döngü yapmak istemiyorum.
Aşağıdaki kod var:
String first = Integer.toString(num1);
String x = first.replaceAll("^((?!([0-9])\\3{2})).*$","");
Ama aynı zamanda üç basamak yerine gelen. Sadece karakterlerin geri kalanını değiştirmek için ihtiyacım var. Benim yaklaşımım yanlış mı? ((\d)\2{2})|\d
- - eşleşmeleri ya üç kere tekrar eder (ve Grup 1 içine yakalar), ya da sadece başka bir rakamla eşleşir bir rakam
Belki de "first = first.replaceAll (" ((\\ d) \\ 2 {2}) | \\ d "," $ 1 ");'? –
@jorge Campos, bir satırda 3 sayı döndürdüğü için işe yaramadı. – Help123
@stribizhev çalıştı! Çok teşekkürler. – Help123