我有以下字符串:除了最後一個單詞外,我如何匹配字符串中的每個單詞?
Chicago CPA
New York CPA
West Virginia Accountant
如何永遠只是砍掉在字符串中的最後一個字(和前面的空格),最後一個字之前保留所有換句話說?
上述數據集的那麼正確的版本是:
Chicago
New York
West Virginia
此外,是否有可能以測試Rubular匹配組或者是有,我可以用它來測試正則表達式其他在線的正則表達式編輯器/測試儀與匹配的組?
編輯1
許多問題的答案都是理論的偉大。我讀了他們,我瞭解他們,我測試他們在香草串,他們似乎工作。但是當我在我的數據上嘗試它時,它不會。我被困了一段時間,我才意識到爲什麼。
這是我工作的HTML:
所以這個文本,我試圖做此字符串操作:
Chicago <strong>Cpa</strong>
所以這是當我嘗試會發生什麼下面的每個答案。
@的Darshan的:
[56] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text
=> "Chicago Cpa"
[57] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text.class
=> String
[58] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text.match(/(.*) \w+\z/)[1]
NoMethodError: undefined method `[]' for nil:NilClass
from (pry):57:in `<class:PageCrawler>'
[59] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text[/.*(?=\s\w+\z)/]
=> nil
@盧卡斯自己:
[60] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text
=> "Chicago Cpa"
[61] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text.class
=> String
[62] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text.split()[0...-1].join(' ')
=> ""
@埃裏克自己:
[65] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text
=> "Chicago Cpa"
[66] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text.class
=> String
[67] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text.split().reverse.drop(1).reverse.join(" ")
=> ""
@卡西米爾自己的(這個人是最好的,到目前爲止,實際上):
[68] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text
=> "Chicago Cpa"
[69] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text.class
=> String
[70] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text.sub(/\W+\w+\W*$/, '')
=> "Chicago"
@桑托斯自己:
[71] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text
=> "Chicago Cpa"
[72] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text.class
=> String
[73] pry(YPCrawler::PageCrawler)> @document.css('header h1.search-term').first.text[/(.*)\s/,1]
=> nil
我的道歉不這樣做這早些時候,但我沒有預料到這是一個問題。實現這一目標的
我看到了你要去的地方,但是這個正則表達式似乎並不匹配每個Rubular.com的「Chicago CPA」。它只匹配 – marcamillion
@marcamillion再次,它適用於我的機器和rubular.com。我會將你的數據集轉儲到一個十六進制編輯器中,看看你的空白是怎麼回事。 –
@marcamillion http://rubular.com/r/b9X60eAwNc –