Just nu i M3-nätverket
Gå till innehåll

Dela en sträng i två när man vet längden på SISTA delen?


Nuggit

Rekommendera Poster

Tjena!

 

Jag har ett litet problem jag inte lyckas lösa...

Jag har en streckkod som ger en kod + en kontrollsiffra

 

koden kan vara av varierande längd och kontrollsiffran kan vara från1 till 99

 

Jag behöver dela upp dessa i två delar... Eftersom koden kan vara av varierande längd (har stött på alltifrån 5 till 7 siffror)

är det svårt att få ihop hur man ska trimma strängen...

Det som indikerar att kontrollsiffran börjar är 5 st 0 or

alltså 00000

Jag har prövat med:

String[] parts = partControlId.split("00000", 2);
String partControlNr = parts[0];
if (partControlNr.length()<7){
    	System.out.println("kör if");
    	partControlNr =partControlNr+"0";

 

Detta spricker dock när koden slutar med en 0.a...

då ska det ju nämligen vara 6 st 0or...

eftersom "avgränsaren" består av 5 st 0r... då blir kontrollsiffran felaktig... Har ni några tips på hur detta lilla dilemma kan lösas?:)

 

/Niklas

Länk till kommentar
Dela på andra webbplatser

Kanske ett regexp kan hjälpa.

 

Detta fungerade i ett snabbt test jag gjorde. Dock med .NETs regexp motor och inte javas. Men det bör gå att anpassa vid behov.

 

\d.*0{5}(\d{1,2})

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...