我尝试了以下示例,但它给出了以下示例
output[]
。我已将字符串“1.0”传递给函数calculatePayout()
,并希望将1存储在s[0]
中,将0存储在s[1]
import java.util.Arrays;
public class aps {
public void calculatePayout(String amount)
{
String[] s = amount.split(".");
System.out.println("output"+Arrays.toString(s));
}
public static void main(String args[])
{
new aps().calculatePayout("1.0");
}
}
答案 0 :(得分:9)
方法split()
接受正则表达式。正则表达式中的字符.
表示“一切”。要使用.
拆分字符串,您必须将其转义,即split("\\.")
。需要第二个反斜杠,因为第一个斜杠用于正则表达式的转义,第二个转义为java编译器的斜杠。
答案 1 :(得分:4)
答案 2 :(得分:2)
尝试amount.split("\\.")
Split方法使用正则表达式,因此您需要使用正确的语法并转义点。
答案 3 :(得分:1)
.
是正则表达世界中的 metacharcter 或特殊字符。 String#split(regex)
期望正则表达式作为参数,您必须使用反斜杠转义它或者按顺序使用字符类将其视为普通字符
amount.split("\\.");
或amount.split("[.]");
答案 4 :(得分:1)