如何将String更改为Array并替换所有标点符号

时间:2016-06-07 12:28:02

标签: java arrays string

我有一个字符串,我希望将其更改为Array,然后在一行中仅显示拆分字。 我不知道该怎么做我唯一的想法是这样做:

public static void main(String[] args) {
    String ciag="Hello My name is Tomek, i am from Mars.";
    ciag=ciag.replaceAll(",", "").replaceAll(".", "");
    System.out.println(ciag);

但也是错的 任何建议

2 个答案:

答案 0 :(得分:3)

这会奏效。

String ciag="Hello My name is Tomek, i am from Mars.";
ciag=ciag.replace(",", "").replace(".", "");
System.out.println(ciag);
String[] arr = ciag.split("\\s+");

replaceAll()使用RegEx替换,而RegEx .代表任何字符。使用replace()

split()也会使用RegEx并\s+匹配一个或多个空格。

答案 1 :(得分:2)

String ciag="Hello My name is Tomek, i am from Mars.";
String[] words = ciag.replaceAll("[,.]", "").split("\\s+");

测试:

System.out.println(Arrays.asList(words).toString());

输出:

[Hello, My, name, is, Tomek, i, am, from, Mars]

说明:

[,.]是正则表达式。 []是一个字符类,这意味着正则表达式将匹配括号内的任何字符。所以[,.]表示匹配逗号或句号。此字符类的任何匹配都将替换为空字符串replaceAll("[,.]", ""),因此,将删除所有逗号和句号。

替换完成后,我们将生成的String与另一个与一个或多个空格匹配的正则表达式\\s+拆分。因此split("\\s+")会将字符串拆分为单词。