Tag: 文本

从Rails中的字符串解析/提取文本?

我在Rails中有一个字符串,例如“这是一个Twitter消息。#Tossstoy的战争与和平。我喜欢这本书!”,我想解析文本并仅提取某些短语,如“战争与和平”利奥托尔斯泰“。 这是使用正则表达式并在“#books”到“。”之间解除文本的问题吗? 如果消息没有结构,例如:“这是一条Twitter消息,那么Leo Tolstoy的战争与和平我喜欢这本书!” 或者“这是Twitter的消息。我喜欢Leo Tolstoy #books的战争与和平书”如何在不知道事前口语的情况下可靠地拉出“战争与和平由Leo Tolstoy”。 有没有可以帮助我做到这一点的gem,方法等? 至少,你会说我想做什么? 它将帮助我在Google上搜索解决方案。 我尝试了几次“解析”搜索没有运气。 —编辑—基于@rogeliog建议,我将添加以下内容: 我可以忍受#books之后的垃圾文本,但之前没有。 我试过“匹配。(/#books。* /)” – 结果在这里: www.rubular.com/r/gM7oSZxF5M 。 但是我如何捕获结果#6? (例如,当某人将#books放在句子末尾时)? 有没有办法让我用正则表达式做if-then? 就像是: 如果[#books在消息的末尾], 然后[拿#books之前的最后10个字], 别的[match。(/#books。* /)] 如果您提供正则表达式,请使用rubular.com通过永久链接发布您的解决方案

rails在模型中validation值是否在数组内

我有一个表单,我传递一个名为 :type的字段 ,我想检查它的值是否在允许类型数组中,以便不允许 任何人发布不允许的类型 。 数组看起来像 @allowed_types = [ ‘type1’, ‘type2’, ‘type3’, ‘type4’, ‘type5’, ‘type6’, ‘type7’, etc… ] 我尝试过使用 validates_exclusion_of或validates_inclusion_of但它似乎不起作用

如何使用Rails将长文本存储到MySql数据库?

我试图将一个长文本(在我的情况下是一个原始的RSS源,但也可能是一篇很长的博客文章或类似文件)存储到MySql数据库。 我有一个迁移: change_column :contents, :description, :longtext 但是这给出了一个schema.rb: t.text “description”, :limit => 2147483647 当限制实际上应该设置为4294967295。 为什么Rails施加的上限是应该可能的一半?

比较文本文件的两个版本,并找到Ruby的添加/删除?

我正在使用Ruby跟踪网页中的更改。 删除所有html标签和空白行后,我得到一系列行,需要检查添加/删除,假设可能有重复。 如果已经完成,你能推荐一个好的gem吗? 我可以使arrays线独特,然后避免问题。 但是如果我需要跟踪重复的线条以及它们在文本中的位置呢?

总结文字

如果我有一些text要打印在一个页面上,但只想在打印前说出前100个单词…最简单的方法是什么?

以文本/ ASCIIforms渲染水平二进制树的算法

这是一个非常普通的二叉树,除了其中一个节点可能是空的。 我想找到一种以水平方式输出它的方法(也就是说,根节点在左边并向右扩展)。 我有一些垂直扩展树木的经验(根节点在顶部,向下扩展),但在这种情况下,我不知道从哪里开始。 最好是遵循以下几条规则: 如果一个节点只有一个子节点,则可以将其作为冗余跳过(始终显示“终端节点”,没有子节点) 相同深度的所有节点必须垂直对齐; 所有节点必须位于所有较低深度节点的右侧,并且位于所有较深节点的左侧。 节点具有包含其深度的字符串表示。 每个“端节点”都有自己独特的线路; 也就是说,行数是树中终端节点的数量,当终端节点在一条线上时,在该终端节点之后该行上可能没有其他内容。 作为最后一条规则的结果,根节点在左上角或左下角可能会更好; 左上角是首选。 例如,这是一个有效的树,有六个端节点(节点由一个名称及其深度表示): 编辑:请参阅问题的底部以获得替代,更容易渲染 [A0] ———– [B3] —— [C5] —— [D8] \ —- \ ——- [e9] —- [f5] \ – [G1] ——– [H4] —— [I6] \ ——————– [j10] \ – [K3] 它代表垂直的显式二叉树: 0 a / \ 1克* / \ \ 2 * * * / […]

Ruby比较两个字符串的相似百分比

我喜欢在Ruby中比较两个字符串并找到它们的相似性 我看过Levenshteingem,但它似乎是在2008年最后一次更新,我找不到文档如何使用它。 一些博客暗示其破碎 我用Levenshtein尝试了text gem,但它给出了一个整数(越小越好) 显然,如果两个字符串的长度可变,我会遇到Levenshtein算法的问题(比较两个名称,其中一个名称中间名称,一个名称不同)。 你有什么建议我做百分比比较? 编辑:我正在寻找类似PHP的类似文本

解析单个键/值的字符串的“ruby方式”是什么?

我正在尝试解析多行字符串并获取模式后面的其余行。 文本: 你好约翰 您的用户名是:jj 感谢您的注册 我想提取jj,即“你的用户名是:”之后的所有内容 单程: text = “hello john\nyour username is: jj\nthanks for signing up\n” match = text[/your username is: (.*)/] value = $1 但这让我想起了perl ……并且不像我告诉ruby那样自然地“阅读”。 有更干净的方式吗? AKA一种“ruby”的方式? 谢谢

Ruby文本分析

是否有任何Rubygem或文本分析? 单词频率,模式检测等(最好有法语的理解)

你如何解析一段文字到句子? (相当于Ruby)

你如何考虑段落或大量文本并将其分解为句子(最好使用Ruby),同时考虑到Mr.和Dr.以及USA这样的案例? (假设你只是将句子放入一个数组数组中) 更新:我想到的一个可能的解决方案是使用词性标注器(POST)和分类器来确定句子的结尾: 从琼斯先生那里获取数据时,他走出意大利避暑别墅的阳台,感受到了温暖的阳光。 他很高兴活着。 CLASSIFIER先生/ PERSON Jones / PERSON感觉/ O / O温暖/ O太阳/ O开/ O他/ O面/ O as / O他/ O步/ O出/ O到/ O / O阳台/ O / O他/ O夏天/ O家/ O in / O意大利/ LOCATION ./O他/ O是/ O快乐/ O到/ O是/ O活着/ O ./O POST先生/ NNP Jones / NNP感觉/ VBD / DT温暖/ JJ太阳/ NN开/他/ […]