更改显示名称字符串从“First M. Last”到“Last,First M.”?

时间:2012-05-13 04:25:20

标签: java regex string

我有一个名字“John B. Smith”,我需要将名称的格式更改为“Smith,John B.”我正在考虑使用正则表达式,但即使在阅读之后我也不完全理解它。有人可以帮忙吗?

您还可以花一点时间来解释表达式中发生了什么吗?

2 个答案:

答案 0 :(得分:1)

与解析常用表达式常用的电子邮件地址或HTTP地址相比,正则表达式解析像名称这样简单的东西可能有点过分。

为什么不用空格字符拆分名称,然后在第一个(John)之前创建一个带有第三个数组元素(Smith)的新字符串 - 插入一个逗号。

答案 1 :(得分:1)

以下是我在Rubular提出的一个例子。

我使用的正则表达式是(\w+)\s+(\w+)\s+(\w+)。以下是它的细分:

  1. 当我使用\w+时,我说我正在寻找带有一个或多个字母,数字或下划线的正则表达式。这通常用于查找单词。
  2. 当我使用\s+时,我正在寻找一个或多个空格字符。
  3. ()表示我想捕获(也就是记住)此正则表达式匹配的输入部分。