在我的Java應用程序中,我需要使用相同的「目標」找到索引和拆分字符串。目標只是一個點。如何拆分無正則表達式
查找索引(通過的indexOf和lastIndexOf)不使用正則表達式,所以
String target = ".";
String someString = "123.456";
int index = someString.indexOf(target); // index == 3
給我我需要的指數。
但是,我也想用這個「目標」來分割一些字符串。但是現在目標字符串被解釋爲正則表達式字符串。所以,像以前一樣,當我想分割字符串,我不能使用相同的目標串...
String target = ".";
String someString = "123.456";
String[] someStringSplit = someString.split(target); // someStringSplit is an empty array
所以我需要以下任一操作:
- 的一種方式分裂成一個數組由非正則表達式的目標
- 到非正則表達式的目標字符串「轉換」成一個正則表達式字符串
有人能幫助的一種方式?你會同意,標準的Java平臺使用正則表達式「split」而不使用「indexOf」的正則表達式有點奇怪嗎?
爲什麼你不能簡單地在分割正則表達式中轉義小數? –
你可以在你的indexOf中使用substring方法,並提取前面的字符串和token之後的字符串。也就是說,如果你真的想避免使用'split'。 – AntonH
@ cricket_007:如果我正確理解你,你建議我使用'target =「\\。」。然後我不能''someString.indexOf(target);' – gromit190