Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Πως γίνεται στην java με τη χρήση της split() η αποκοπή ενός string και αυτό που απέμεινε από το αρχικό, να το αποθηκεύσουμε σε έναν πίνακα από strings?

 

Ευχαριστώ.

Δημοσ.

Μόνο με την split δεν γίνεται καθώς ορίζεις μόνο τον delimiter. Μπορείς να θεωρήσεις ως delimiter μαζί και το κείμενο αποκοπής με regular expressions αλλά αν ας πούμε το κείμενο είναι στην αρχή θα σου γυρίσει κενό πρώτο στοιχείο.

 

Καλύτερα να κάνεις replace το κείμενο πρώτα και μετά να το περάσεις στην split.

 

>
String[] strArray;
	
       String p="one-one-two-three-four-one-four-one";
String k="---one-one-two-----three-four-------one-four---one-----";
	
k=k.replaceAll("^[-]+|one-|-one","");
       p=p.replaceAll("^[-]+|one-|-one","");
	
       strArray=k.split("-+");
	
System.out.println("Printing k");
for (int i=0;i<strArray.length;i++)
{
  System.out.println(strArray[i]);
}
	
strArray=p.split("-+");
	
System.out.println("Printing p");
	
for (int i=0;i<strArray.length;i++)
{
  System.out.println(strArray[i]);
}

 

Δεν χρειάζεται το ίδιο regular expression για το καθαρό string αλλά καλύτερα να λαμβάνεις υπόψιν το worst case scenario.

 

Φυσικά δεν ξέρω αν θέλεις απλά να κόψεις το string συγκεκριμένα και όχι απλά να αφαιρέσεις συγκεκριμένες τιμές. Να κόψεις ας πούμε το μισό.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...