This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: error when using split-regex


Le Thursday 09 March 2017 20:46:11 Per Bothner, vous avez écrit :
> On 03/09/2017 11:42 AM, Per Bothner wrote:
> > On 03/09/2017 02:31 AM, Damien MATTEI wrote:
> >> Hi,
> >>
> >> i have got an error in code when using regex-split,
> >> here is the code tested here at REPL in kawa 2.1:
> >>
> >> (require 'regex)
> >>
> >> (define wds-url "http://ad.usno.navy.mil/wds/Webtextfiles/wdsnewref.txt";)
> >> (define wds-data-str &<{&[wds-url]})  ;; could take a few seconds to GET file
> >> (define wds-data-str-split (regex-split wds-data-str (string #\return)))
> >
> > Try switching the order of the arguments to regex-split.
> 
> What I did is I saved the file, and then trimmed it down until the output
> would fit in the scroll-back buffer. Then I saw:
> 
> java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 4730
> 
> That was the clue that the arguments were switched.  Confirmed by checking the manual.

thank you Per ,
 it works now, i had swapped the args and  the line separator was LF and not CR:

 (let* ((marequete "SELECT * FROM Obs ORDER BY Auteur")
	  
	  (rs ::java.sql.ResultSet #!null)
	  (total '())
	  (result '())
	  (wds-url "http://ad.usno.navy.mil/wds/Webtextfiles/wdsnewref.txt";)
	  (wds-data-str &<{&[wds-url]})
	  (str1 (substring wds-data-str 0 30))
	  (len-wds-data-str (string-length wds-data-str))
	  ;;(wds-data-str-split (regex-split (string #\return) wds-data-str)) 
	  (wds-data-str-split (regex-split (string #\linefeed) wds-data-str))
	  )
     
     (display-msg-var-nl  "DBtoWebObserversKawa : work : str1 = " str1)
     (display-msg-var-nl  "DBtoWebObserversKawa : work : length wds-data-str = " len-wds-data-str)
     (display-msg-var-nl  "DBtoWebObserversKawa : work : (car wds-data-str-split) = " (car wds-data-str-split))

output in Tomcat log:

Aujourd'hui 10:37:21
   
DBtoWebObserversKawa : work : str1 = WDS Astrometry, Interferometri
DBtoWebObserversKawa : work : length wds-data-str = 2723073
DBtoWebObserversKawa : work : (car wds-data-str-split) = WDS Astrometry, Interferometric, Linear, Orbit, and DM Catalogs: References

Regards,
Damien

-- 
Damien.Mattei@unice.fr, Damien.Mattei@oca.eu, UNS / OCA / CNRS


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]