Hello again. I'm trying to take as an input an ArrayList<String> and utilize String's .spit(delimiter) method to turn that into a String[][]. I'm getting some kind of error though (I'll post the code and error lower down).
Here's a simple example: -
Input ArrayList would be:
-
ArrayList<String> temp = new ArrayList<String>(2);
-
temp.add("headerTest\\headerSectionTest\\");
-
temp.add("headerTest\\start-time\\sameLastPartTest");
-
temp.add("headerTest\\end-time\\sameLastPartTest");
-
temp.add("DataTest\\TimeTest\\");
-
temp.add("DataTest\\PieceOfDataTest\\");
-
-
The String[][] that I want would be (assuming my code works):
-
String[][] splittedStrings = new splittedStrings[temp.size()][];
-
splittedStrings[0] = { "headerTest", "headerSectionTest" };
-
splittedStrings[1] = { "headerTest", "start-time", "sameLastPartTest" };
-
splittedStrings[2] = { "headerTest", "end-time", "sameLastPartTest" };
-
splittedStrings[3] = { "DataTest", "TimeTest" };
-
splittedStrings[4] = { "DataTest", "PieceOfDataTest" };
-
Here's my code (main method and the table implementation method where I'm using the .spit("\\") method): -
public static void main(String args[]) {
-
ArrayList<String> temp = new ArrayList<String>(2);
-
temp.add("headerTest\\headerSectionTest\\");
-
temp.add("headerTest\\start-time\\sameLastPartTest");
-
temp.add("headerTest\\end-time\\sameLastPartTest");
-
temp.add("DataTest\\TimeTest\\");
-
temp.add("DataTest\\PieceOfDataTest\\");
-
-
runTCW rTCW = new runTCW(temp);
-
rTCW.start();
-
try {
-
rTCW.join();
-
} catch (InterruptedException e) {
-
e.printStackTrace();
-
}
-
}
-
-
public MyTableModel(ArrayList<String> al) {
-
numRows = al.size();
-
data = new Object[numRows][numCols];
-
-
String[][] tagsSeparated = new String[numRows][];
-
-
for (int i = 0; i < numRows; i++) {
-
tagsSeparated[i] = al.get(i).split("\\"); //This is where the error is reported, where I use the .split("\\") method
-
}
-
-
for (int i = 0; i < numRows; i++) {
-
data[i][0] = new Boolean(true);
-
-
data[i][1] = al.get(i);
-
-
data[i][2] = al.get(i);
-
Utilities.print(tagsSeparated[i]);
-
-
data[i][3] = al.get(i);
-
}
-
}
-
And the error it spits out: -
Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
-
\
-
^
-
at java.util.regex.Pattern.error(Pattern.java:1700)
-
at java.util.regex.Pattern.compile(Pattern.java:1453)
-
at java.util.regex.Pattern.<init>(Pattern.java:1130)
-
at java.util.regex.Pattern.compile(Pattern.java:822)
-
at java.lang.String.split(String.java:2293)
-
at java.lang.String.split(String.java:2335)
-
at TagChoosingWindow$MyTableModel.<init>(TagChoosingWindow.java:210)
-
at TagChoosingWindow.<init>(TagChoosingWindow.java:39)
-
at runTCW.<init>(runTCW.java:14)
-
at TagChoosingWindow.main(TagChoosingWindow.java:157)
-
-
Process completed.
-
I don't completely understand this error. Any and all help is much appreciated.
-blazed
12 3292
You need four backslashes to match \ because it is a special-special character.
You need four backslashes to match \ because it is a special-special character.
Just to elaborate on r025198x's awfully correct and awfully terse reply:
Suppose you want to split on a single backslash; you have to escape it with
another backslash because (as r035198x already correctly wrote), the backslash
is a special character for the regular expression compiler.
If you want to supply that regular expression as a literal String, you have to get
it past the Java compiler too but javac considers a backslash character as a
special character as well, so basically you want to get two backslashes past
javac; that takes one extra backslash each:
after javac munched on this string, all that is left is this:
and this is what the regular expression compiler turns it into
I deliberately left out the double quotes for no particular reason just to emphesize
on what both compilers actually see and work on.
kind regards,
Jos
Just to elaborate on r025198x's awfully correct and awfully terse reply:
Suppose you want to split on a single backslash; you have to escape it with
another backslash because (as r035198x already correctly wrote), the backslash
is a special character for the regular expression compiler.
If you want to supply that regular expression as a literal String, you have to get
it past the Java compiler too but javac considers a backslash character as a
special character as well, so basically you want to get two backslashes past
javac; that takes one extra backslash each:
after javac munched on this string, all that is left is this:
and this is what the regular expression compiler turns it into
I deliberately left out the double quotes for no particular reason just to emphesize
on what both compilers actually see and work on.
kind regards,
Jos
Don't you dare disrespect me by calling me r025198x. I've long since moved up to the r03 class.
Don't you dare disrespect me by calling me r025198x. I've long since moved up to the r03 class.
Sorry, that's what your name looks like in my private unodecosimal radix number
system. It's quite a complicated system so I'll explain it some other time ;-)
kind regards,
Jos
Sorry, that's what your name looks like in my private unodecosimal radix number
system. It's quite a complicated system so I'll explain it some other time ;-)
kind regards,
Jos
You need to upgrade your system then. It's probably version 0.1 and is written in Fortan right?
It worked obviously. Thank you so much for the help, both of you.
-blazed
It worked obviously. Thank you so much for the help, both of you.
-blazed
One more post blazed, and you're seating pretty on 200 posts. I'll see If I can get a present for you.
One more post blazed, and you're seating pretty on 200 posts. I'll see If I can get a present for you.
It's funny you should say that, my birthday was last monday... my friends got me Frank Miller's (guy who wrote sin city comics) Comic of 300 (300 is only one digit off of 200, funny eh? Not really...). I didn't even know that movie was based on a comic. I really enjoyed it...
Anyway, ya, thanks, didn't even notice my post count was getting there...
Well to the brave 200 ... eh ... 300 ... eh ... whatever,
-blazed
A bit belated but nevertheless: Happy Birthday to you.
kind regards,
Jos
A bit belated but nevertheless: Happy Birthday to you.
kind regards,
Jos
Thank you good sir.
-blazed
Thank you both for answering and explaining the problem. Saved me a lot of time!
Regards,
Matt
Thank you both for answering and explaining the problem. Saved me a lot of time!
Regards,
Matt
Thanks for the thanks.
Sign in to post your reply or Sign up for a free account.
Similar topics
by: George |
last post by:
Hi,
I am trying to write a query in Oracle which I have not done before,
and are having some difficulty getting my result.
Please check my query and my results.
select max(note.datetime),...
|
by: malcolm |
last post by:
Hello,
We have a small team building a project that involves some 30 or so c#
assembly dlls. It is a client server application with 1 exe as the
starting point. The dlls and exe are sharing an...
|
by: pmarisole |
last post by:
I am using the following code to split/join values in a multi-select
field. It is combining all the values in All the records into one long
string in each record in recordset.
Example: I have a...
|
by: Jacek Dziedzic |
last post by:
Hi!
<OT, background>
I am in a situation where I use two compilers from different
vendors to compile my program. It seems that recently, due to
a misconfiguration, library conflict or my...
|
by: rag84dec |
last post by:
HI
I have seen a method been called like this
"Inquiry(0x00,0,\$a_StdInqXferSize,\$devdata::g_StdInqBuf);"
Can anyone tell me why this has been done???..
Thanks
|
by: py_genetic |
last post by:
Hi,
I'm looking to generate x alphabetic strings in a list size x. This
is exactly the same output that the unix command "split" generates as
default file name output when splitting large...
|
by: =?Utf-8?B?QXhlbCBEYWhtZW4=?= |
last post by:
Hi,
we've got a strange problem here:
We've created an ASP.NET 2.0 web application using Membership.ValidateUser()
to manually authenticate users with our website.
The problem is: If the...
|
by: spoken |
last post by:
Hi,
I'm trying to read a file with data seperated by "|" character.
Ex:
3578.27|2001|Road Bikes|Metchosin|Canada
3399.99|2001|Mountain Bikes|Pantin|France
3399.99|2001|Mountain...
|
by: Cirene |
last post by:
I seem to remember seeing a solution where a databound dropdownlist (used as
a FILTER for a gridview) had the 1st item as "ALL ITEMS". It used a query
with a UNION. But I can't find the example....
|
by: CloudSolutions |
last post by:
Introduction:
For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
|
by: Faith0G |
last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome former...
|
by: taylorcarr |
last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: aa123db |
last post by:
Variable and constants
Use var or let for variables and const fror constants.
Var foo ='bar';
Let foo ='bar';const baz ='bar';
Functions
function $name$ ($parameters$) {
}
...
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
| |