Tag: 字符串

Ruby Regex捕获两个字符串之间的所有内容(包括)

我正在尝试清理一些HTML并删除一个标签(我真的想避免使用nokogiri等)。 所以我有以下字符串出现我想要摆脱: Some junk here that’s different every time 这在我的字符串中只显示一次,我想找到一种方法将其删除。 我已经尝试用正则表达式来捕获它,但我找不到一个有效的。 我已经尝试/ (.*)/m这样/ (.*)/m ,但它也会匹配并包含文档中的任何其他 标记,我不想要。 关于如何处理这个的任何想法?

单引号字符串中的反斜杠与双引号字符串相反

如果我在双引号和单引号字符串的开头添加反斜杠+空格,我会得到不同的结果: “\ text” ‘\ text’ 在双引号字符串的输出中,我只看到一个空格。 在单引号字符串的输出中,我看到反斜杠+空格。 那里发生了什么? 这是因为’\ ‘被解释为双引号字符串中的特殊字符,但在单引号字符串中字符保留原样? 如果我将字符串更改为this,我会看到相同的输出,即单个斜杠后跟一个空格,然后是文本: “\\ text” ‘\\ text’ 在这两种情况下,反斜杠都会被转义。 我很困惑为什么他们在这种情况下以同样的方式工作。 是否有一些规则可以帮助解释单引号字符串和双引号字符串如何处理Ruby中的反斜杠之间的根本区别?

Ruby中的字符串是否可变?

字符串在Ruby中是否可变? 据文件说 str = “hello” str = str + ” world” 创建一个值为”hello world”的新字符串对象,但是当我们这样做时 str = “hello” str << " world" 它没有提到它创建了一个新对象,所以它是否会改变str对象,它现在具有值”hello world” ?

从字符串中删除重音符号/变音符号,同时保留其他特殊字符(尝试过mb_chars.normalize和iconv)

有一个非常类似的问题 。 其中一个解决方案使用如下代码: string.mb_chars.normalize(:kd).gsub(/[^x00-\x7F]/n, ”).to_s 哪个有奇效,直到你注意到它还会删除空格,圆点,短划线以及谁知道还有什么。 我不是很确定第一个代码是如何工作的,但它是否可以仅删除重音? 或者至少要给出一个要保留的字符列表? 我对regexp的了解很少,但我尝试过(无济于事): /[^\-x00-\x7F]/n # So it would leave the dash alone 我要做这样的事情: string.mb_chars.normalize(:kd).gsub(‘-‘, ‘__DASH__’).gsub (/[^x00-\x7F]/n, ”).gsub(‘__DASH__’, ‘-‘).to_s 残暴? 是… 我也尝试过: iconv = Iconv.new(‘UTF-8’, ‘US-ASCII//TRANSLIT’) # Also tried ISO-8859-1 iconv.iconv ‘Café’ # Throws an error: Iconv::IllegalSequence: “é” 请帮忙?

使用Ruby测量两个字符串之间的距离?

我可以用Ruby测量两个字符串之间的距离吗? 即: compare(‘Test’, ‘est’) # Returns 1 compare(‘Test’, ‘Tes’) # Returns 1 compare(‘Test’, ‘Tast’) # Returns 1 compare(‘Test’, ‘Taste’) # Returns 2 compare(‘Test’, ‘tazT’) # Returns 5