根据某些情况从字符串中删除“\n”
Removing "\n" from a string depending on certain cases
我有这个字符串,我使用各种函数的输出构建了每个 return 字符串:
[resource_name,
duration,
project_name,
total_hours,
details,
booker,
user_details].join("\n")
这些功能中的每一个 return 一串信息,作为一个整体,构建一条通知消息。我正在努力实现的是每个字符串都由一个换行符连接,但有时函数 return 是一个空字符串,因为未指定信息。例如,如果没有指定 project_name,则该字符串将为空。
如何让整行都被删除,而不是让一个空字符串后跟一个换行符?,因为那样看起来不太像。
您可以在执行 join
之前尝试 准备 阵列。考虑以下代码:
[resource_name,
duration,
project_name,
total_hours,
details,
booker,
user_details].compact
.reject { |s| s.empty? }
.join("\n")
这里我使用了compact
的方法,把数组中所有的nil
元素都去掉了(如果你100%确定没有nil
的,可以省略那个).下一步是删除或 reject
所有 empty?
字符串(请注意,empty?
是 string
上的一种方法)。
祝你好运!
我有这个字符串,我使用各种函数的输出构建了每个 return 字符串:
[resource_name,
duration,
project_name,
total_hours,
details,
booker,
user_details].join("\n")
这些功能中的每一个 return 一串信息,作为一个整体,构建一条通知消息。我正在努力实现的是每个字符串都由一个换行符连接,但有时函数 return 是一个空字符串,因为未指定信息。例如,如果没有指定 project_name,则该字符串将为空。
如何让整行都被删除,而不是让一个空字符串后跟一个换行符?,因为那样看起来不太像。
您可以在执行 join
之前尝试 准备 阵列。考虑以下代码:
[resource_name,
duration,
project_name,
total_hours,
details,
booker,
user_details].compact
.reject { |s| s.empty? }
.join("\n")
这里我使用了compact
的方法,把数组中所有的nil
元素都去掉了(如果你100%确定没有nil
的,可以省略那个).下一步是删除或 reject
所有 empty?
字符串(请注意,empty?
是 string
上的一种方法)。
祝你好运!