Bu tablo varmicrosoft access veritabanında satırın bölümünü kullanarak veri için arama için java kullanma
Ve bütün döndüren masamın veri almak için aşağıdaki kodu kullanıyorum Kürt kelimesi yüzden iyi çalışıyor بةرز
targetText="بةرز";
try (PreparedStatement ps = conn.prepareStatement(
"SELECT English,Kurdish FROM Info " +
"WHERE Kurdish = ? " +
"OR REGEXP_MATCHES(Kurdish, ?) " +
"OR REGEXP_MATCHES(Kurdish, ?) " +
"OR REGEXP_MATCHES(Kurdish, ?) ")) {
ps.setString(1, targetText);
ps.setString(2, "^[. ]*" + targetText+ "[ ]*[:،,]+[ .]*$");
ps.setString(3, "^[. ]*[:،,]+[ ]*" + targetText+ "[. ]*$");
ps.setString(4, "^[. ]*[:،,]+[ ]*" + targetText+ "[ ]*[:،,]+[ .]*$");
try (ResultSet rSet = ps.executeQuery()) {
while (rSet.next()) {
System.out.println(rSet.getString("English"));
System.out.println(rSet.getString("Kurdish"));
}
}
}
içeren İngilizce kelimeleri, bu tek istediğim İngilizce kelime yazdırır.
Sorunum şu ki, karşılık gelen Kürtçe kelimeyi aldığımda, tüm hücreyi yazdırmıyor. Bu sadece baskılar بةرز,
Örneğin önceki kodun çıktısı olmalıdır:
aesthete
بةرز ، جوانىثةرست
aether
زوَر ناسك ، بةرز ، ثيروَز ، ئاسمانى
affair
بةرز
Ama
aesthete
بةرز
aether
بةرز
affair
بةرز
yazdırır İstediğim çıktı almak için ne yapabilirim? Benim veritabanı bağlantısı için UCanAccess
kullanıyorum
Not herkes için
Ben UCanAccess kullanarak sorunu tekrar alamıyorum RegX içinde birkaç değişiklik ile çözdük 3.0.2. Örnek verilerinizi bir Access tablosuna kopyalayıp yapıştırdım ve kodunuzu bir Eclipse projesine kopyalayıp yapıştırdım. Ben koştuğumda, eşleşen tek sıra "ilişki" dir. –
Sorunumu video ile kaydedip YouTube’a yüklemek istiyor musunuz? –
Regex'iniz ne yapmalı? Nedir? ] * [: ،,] + [] * 'Sizin için ne anlama geliyor? Bana göre, isteğe bağlı olarak boşluklardan veya dönemlerden önce ve/veya boşluklarla takip edilen bir dizi:: ',' ، 'veya', 'karakterleridir. '^' Ankrajı ile birleştiğinde, başka hiçbir metne izin verilmiyor demektir, bu yüzden ilk 2 kırmızı daireden önce gelenlerle uyuşmayacaktır. --- Ayrıca, gösterilen veriler büyük harfle başlayan Affair'e sahip olduğundan ve çıktınız küçük harfle başlıyorsa, * bu * veriyi * okuyorsunuz demektir. – Andreas