正则表达式在Javascript中查找未知字符串并更改大小写

时间:2014-07-17 18:53:33

标签: javascript regex google-apps-script

我想在整行上找到上面有空白行的字符串,但是在下一行中有文字。然后我希望找到的字符串是大写的。我永远不会知道这些名字。 (我在Google Apps Script)这样做。

示例文字:

susan jones  
Good morning, children.  How are you today?

Susan jones is a 1st grade school teacher.  bob smith is a plumber.

bob smith  
Hello, Susan.  You are nice.

我想要大肆说出所有人的名字。所以文本看起来像这样:

SUSAN JONES  
Good morning, children.  How are you today?

Susan jones is a 1st grade school teacher.  Bob smith is a plumber.

BOB SMITH  
Hello, Susan.  You are nice.

1 个答案:

答案 0 :(得分:0)

如果你想要的是抓住前面有空白行和下一行文字的行,你可以使用它:

[\n][\n]([^\n]+)[\n][^\n|\s]

但是,如果第一个名称前面没有空行,则无效。 如果使用javascript,你可以简单地为你的replace方法提供一个函数,它以大写形式返回捕获的组($ 1)。

但这对我来说听起来不是一个很好的方法。如果人们的帖子中有换行符,那么迟早肯定会出错。

我也不会推荐其他建议,假设所有用户都有2个姓名而且没有人发帖2个字。

考虑这个例子:

susan jones  
Good morning, children.  How are you today?

Also BTW
Good evening too...

Susan jones is a 1st grade school teacher.  bob smith is a plumber.

bob smith  
Hello, Susan.  You are nice.

这会使两个方法的“同时”一词成为大写。

你说你把所有这些都作为一个单独的字符串?没有其他方法可以获得附有更多信息的文本。

当然,如果用户的帖子中没有换行符,那么这个正则表达式应该适合你。但我仍然认为应该有可能找到更好的方法来做到这一点。