ruby start_with?(),end_with?()

时间:2011-06-18 08:05:37

标签: ruby regex string-parsing

我有一个主题标题包含在“|”中的文档字符。

E.g。 “| LINKS |”

我想检查字符串是否以“|”开头和结尾用于验证特定文档的主题标题是否有效的字符。我该怎么做?

来源:

@filetarget = " < document file location here > "

@line = ""

file = File.new(@filetarget)

while (@line = file.gets)
   if((@line.start_with?("|")) and (@line.end_with?("|")))
      puts "Putting: " + @line
   end
end

用于解析的文档文本:

| LINKS |

http://www.extremeprogramming.org/  <1>

http://c2.com/cgi/wiki?ExtremeProgramming  <2>

http://xprogramming.com/index.php  <3>

| COMMENTS |

* Test comment
* Test comment 2
* Test comment 3

2 个答案:

答案 0 :(得分:19)

您是否尝试过RDoc

"| LINKS |".start_with?("|") # => true
"| LINKS |".end_with?("|") # => true

答案 1 :(得分:5)

您可以使用简单的正则表达式:

if line =~ /^\|.*\|$/

通过这种方式,您可以验证其他内容,例如标题必须全部为大写并且需要空格(/^\|\s[A-Z]+\s\|$/)。