我有這樣的代碼:數組長度沒有得到正確
<%
str="D:\\projects\\curator\\java\\hpc"
no=str.count("\\")
splitstr=str.split(pattern="\\",no+1)
%>
在此之後我打印
<%= splitstr.length %>
它給我的輸出9
。但splitstr
只有5
元素。
它是如何發生的。
我有這樣的代碼:數組長度沒有得到正確
<%
str="D:\\projects\\curator\\java\\hpc"
no=str.count("\\")
splitstr=str.split(pattern="\\",no+1)
%>
在此之後我打印
<%= splitstr.length %>
它給我的輸出9
。但splitstr
只有5
元素。
它是如何發生的。
您最終在您的陣列中有四個「」(空)字符串
使用這個代替..
splitstr=str.split("\\")
splitstr.length
1.9.3p385 :007 > str="D:\\projects\\curator\\java\\hpc"
=> "D:\\projects\\curator\\java\\hpc"
1.9.3p385 :008 > no=str.count("\\")
=> 4
1.9.3p385 :009 > splitstr=str.split(pattern="\\",no+1)
=> ["D:", "projects", "curator", "java", "hpc"]
1.9.3p385 :010 > splitstr.length
=> 5
1.9.3p385 :011 >
即時得到它的權利!
您最終在您的數組中有四個字符串。請參閱:http://stackoverflow.com/questions/11164236/how-to-split-a-string-containing-both-delimiter-and-the-escaped-delimiter – Fdr 2013-03-01 07:23:29
剛剛嘗試了這一點,我得到了5 https:// gist.github.com/jvnill/5063030 – jvnill 2013-03-01 07:24:19
@Fdr:謝謝..那個鏈接幫助我找出問題。我現在得到了解決方案。 – 2013-03-01 08:13:17