0

我正在 Ruby on Rails 中构建一个应用程序,在其中我将内容拉入另一个文件,并想知道是否有任何简单的方法可以创建用于分隔字符串内容的唯一分隔符,或者是否应该采用另一种方法。

假设我有一段文本,我想插入,假设我不知道文本将包含什么。

我想做的是在段落中的 5 个随机点处放置某种分隔符,以便稍后可以创建一个数组,其中可以将直到该分隔符的内容分离成一个单独的元素。

对于一些上下文,假设我有一个段落作为字符串拉入:

Hello, this is a paragraph of text which will be delimited. Goodbye.

现在,假设我在各个点添加了一个分隔符,如下所示(我知道如何在代码中执行此操作):

Hello, this [DELIMITER] is a paragraph [DELIMITER] of text which [DELIMITER] will [DELIMITER] be delimitted. Goodbye.

同样,我知道如何做到这一点,但假设我可以使用上面的方法创建一个数组,如下所示:

my_array = ["Hello, this", "is a paragraph", "of text which", "will", "be delimitted. Goodbye"

我有信心实现上述所有目标。我面临的挑战是:我的分隔符应该是什么?

通常,逗号用作分隔符,但如果文本已经包含逗号,这将导致我不希望它们出现的分隔符。例如,在上面的示例中,“Hello”和“this”之间的逗号会导致“Hello, this”元素被拆分为“Hello”和“this”——这不是我想要的。

我想做是每次加载页面时使用随机(十六进制)数字生成器创建一个新的分隔符,例如“你好,这个 023ABCDEF 是一个段落 023ABCDEF ...”,但我不确定这是正确的做法。

有没有更简单的解决方案?

4

1 回答 1

1

多部分 mime 消息(或多或少)采用 GUID 分隔符的方法;这是足够的。

不过,我认为这是一种不同类型的问题,更接近于文本编辑器标记文本粗体斜体等部分。这可以通过字符串解析(如 Markdown,SO 的格式)或数据结构来处理。

文本编辑器方法通常更灵活,而不是简单的字符串集合,而是使用包含有关部分的元数据(类型、格式等)的结构集合(或树)。

最佳方法取决于您的需求:

  • 部分可以嵌套吗?
  • 这会被渲染吗?
  • 如果是这样,“类型”部分是否需要特定的渲染?
  • 是否有“类型”部分,或者它们都相同?
  • 有问题的文本会在切片之前、期间或之后进行编辑吗?
  • 等等。
于 2012-09-09T17:52:01.987 回答