Ruby 如何检测字符串中的一行是否只有行回车?
我有一个有多行的字符串。我所做的是检查每一行的具体特征,然后相应地处理它们 一个特征是如果行以Ruby 如何检测字符串中的一行是否只有行回车?,ruby,Ruby,我有一个有多行的字符串。我所做的是检查每一行的具体特征,然后相应地处理它们 一个特征是如果行以+或-开头。那很好用 另一个特性是如果它只包含一个\n,但我不确定如何检查它 以下是字符串的示例: "+ end\n", " \n", "- # Specifies a many-to-many relationship with another class. This associates two classes via an\n", 我有一些简单的检查来检测第一行和最
+
或-
开头。那很好用
另一个特性是如果它只包含一个\n
,但我不确定如何检查它
以下是字符串的示例:
"+ end\n",
" \n",
"- # Specifies a many-to-many relationship with another class. This associates two classes via an\n",
我有一些简单的检查来检测第一行和最后一行,看起来像这样
但不太确定如何检查该行是否只有一个(或多个)\n
。请注意,其他行中可能有\n
,不应触发此条件(如第一行和最后一行)
关键是,如果行只包含行回车符\n
编辑1
请注意,我并没有试图删除这些行。我只是在寻找一个正则表达式,或者是一个内置的ruby函数,它可以帮助我轻松地识别符合上述条件的行。您可能在寻找一个
字符串#strip
,它返回一个字符串的副本,并删除前导和尾随空格:
def if_empty?(string)
string.strip.empty?
end
if_empty?(" \n\n\n\n")
=> true
不…我正在寻找一个正则表达式或其他匹配工具,可以帮助我识别只有
\n\n\n
的字符串。我不想剥掉它们。我只想识别它们。您可以通过检查strip
后的字符串是否为空来识别。顺便说一句,您的实例不仅有“\n”,而且strip
可以处理这个问题。实际上您是对的……我的错。您使用的strip.empty?
有效。天才。多谢孟!我还有一个字符串类型我正在尝试检测。你介意也看看那个吗?我将创建一个新问题,并在评论中发布链接,酷?当然,没有问题。