Java 使用“"*&引用;
让我们假设有一个字符串Java 使用“"*&引用;,java,regex,string,Java,Regex,String,让我们假设有一个字符串 String myString = "my*big*string*needs*parsing"; 我只想得到一个拆分字符串为“我的”,“大”,“字符串”,等等。 所以我试着 返回 java.util.regex.PatternSyntaxException:在索引0附近悬挂元字符“*” *是正则表达式中的一个特殊字符,所以我尝试转义 myString.split("\\*"); 同样的例外。我想有人会知道一个快速的解决办法。谢谢。 应该完全满足您的需要。split(
String myString = "my*big*string*needs*parsing";
我只想得到一个拆分字符串为“我的”,“大”,“字符串”,等等。
所以我试着
返回
java.util.regex.PatternSyntaxException:在索引0附近悬挂元字符“*”
*
是正则表达式中的一个特殊字符,所以我尝试转义
myString.split("\\*");
同样的例外。我想有人会知道一个快速的解决办法。谢谢。
应该完全满足您的需要。
split(\\*”)
适合我。myString.split(\\*”)代码>在Java5上运行良好。你使用哪种JRE。一次转义\
不会在Mac OSX上的Java 6中起作用,因为\
是为\b\t\n\f\r\'“
和\
保留的。你所拥有的似乎对我有用:
public static void main(String[] args) {
String myString = "my*big*string*needs*parsing";
String[] a = myString.split("\\*");
for (String b : a) {
System.out.println(b);
}
}
产出:
我的
大
字符串
需要
解析
您也可以使用
这是因为split方法采用正则表达式,而不是普通字符串
“*”字符表示与前一个字符零次或多次匹配,因此单独指定它是无效的
所以它应该像下面这样逃逸
split(\\*”
您的右\*行得通,我从数组中使用它…myArray[x]。split(\*”);它会引发异常,但如果我打开myArray[x]首先输入一个字符串,然后运行它…谢谢你的回答:)我的意思是在上面的注释中使用双斜杠…单斜杠不起作用;*不是一个特殊字符。我想你键入了:)
public static void main(String[] args) {
String myString = "my*big*string*needs*parsing";
String[] a = myString.split("\\*");
for (String b : a) {
System.out.println(b);
}
}
StringTokenizer st = new StringTokenizer("my*big*string*needs*parsing", "\*");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}