3

我从服务器获取字符串,我必须使用正则表达式来解析它。

我知道如何使用字符串函数(String.split 等),但不使用正则表达式,这是作业要求。

字符串如下所示:

12345 <RECTANGLE> 100 200 300 400 </RECTANGLE>

我必须使用正则表达式使该字符串变为:

12345 RECTANGLE 100 200 300 400

所以基本上,我必须删除以下所有字符:“<”、“>”和“/”。我还必须删除最后一个单词,所以我想我什至不必检查“/”,因为删除最后一个单词可能也会删除斜杠。

现在我有:

shapeString.replaceAll("[</>]", "");

它删除了我不需要的字符,但我不知道如何删除最后一个单词。

4

2 回答 2

6

你可以加

str.replaceAll(" [^ ]+$", "")

删除最后一个单词及其前面的空格。

这是一个带有运行示例的 ideone 链接

于 2012-10-19T03:26:17.723 回答
3

您可以使用replaceAll或替代地,这个:

shapeString = shapeString.substring(0, shapeString.lastIndexOf(' '));

删除最后一个词。

于 2012-10-19T03:30:05.187 回答