0

我想获取特定字符串的所有出现,例如police officer在文本文件中,文本文件有很多空格,它可能看起来像这样:

T h e  r a p i s t  r a n  f r o m  t h e  p o l i c e 
o f f i c e r, d o w n  M a i n  S t r e e t.

或者以最简单的形式:

The rapist ran from the police officer, down Main Street.

我精通 VBA 或 PHP,但愿意接受其他快速解决方案。

我在考虑正则表达式,但不确定是否有办法。

4

2 回答 2

1

您可以在正则表达式中添加空格,您的搜索字符串将类似于p\s*o\s*l\s*i\s*c\s*e\s+o\s*f\s*f\s*i\s*c\s*e\s*r\s*. 如果要包含选项卡,可以更改\s*[\s\t]*. 当然,您可以自动创建这些搜索字符串。

如果你想先尝试正则表达式,有很多在线资源,例如http://regexpal.com/

于 2013-03-24T14:28:29.403 回答
0

你可以做这样的事情(在 php 中):

1)将文件的内容读入一个字符串(或者如果你逐行执行,则读取该行的内容)

2) 使用 str_replace() 从字符串中去除任何空白

3) 使用 strpos() 查看 'policeofficer' 是否在字符串中。(请注意,您也需要从输入中删除空格)。

4) 返回 strpos 的结果(注意你需要使用 === 来测试)。

我不确定这是最有效的方法,但它应该有效。

于 2013-03-24T14:28:37.317 回答