jjzjj

ansi-escape-sequences

全部标签

ruby - 为什么 URI.escape 不转义单引号?

为什么URI.escape不转义单引号?URI.escape("foo'bar\"baz")=>"foo'bar%22%20baz" 最佳答案 出于同样的原因,它不会转义?或/或:等等。URI.escape()仅转义不能在URL中使用的字符根本,而不转义具有特殊含义的字符。您要找的是CGI.escape():require"cgi"CGI.escape("foo'bar\"baz")=>"foo%27bar%22+baz" 关于ruby-为什么URI.escape不转义单引号?,我们在S

ruby - 正则表达式 : Any characters except sequence

[^abc]Anysinglecharacterexcept:a,b,orc但是我如何为除序列abc之外的任何字符制作正则表达式所以,类似的东西"Helloabcawesomeworld".scan/[^(abc)]+/将返回“Hello”和“awesomeworld”。PS:而且不是分割字符串 最佳答案 这叫做lookaround,在您的情况下,您需要使用负前瞻。我不确定Ruby中的确切语法,但(?!abc)中的某些内容可能会起作用。请注意,lookaround不会消耗任何输入,因此您需要在其后跟任何您想要匹配的模式。也许(?:(

ruby - Ruby 中的 URI.escape 和 URI.encode 有什么区别?

我试图找出URI.escape和URI.encode之间的区别ruby。两者都没有按照我的意愿进行,即对URL进行完全编码。例如,我希望http://my.web.com为http%3A%2F%2Fmy%2Eweb%2Ecom 最佳答案 没有区别。在Ruby1.9.3中encodeissimplyanaliasforescape.[编辑]请注意,这些方法允许对字符的“不安全”描述符进行编码:URI.encode('http://my.web.com',/\W/)#=>"http%3A%2F%2Fmy%2Eweb%2Ecom"谢谢@m

ruby - 使用 Ruby 将 UTF8 转换为 ANSI

我有一个Ruby脚本,它在Linux机器上远程生成一个UTF8CSV文件,然后通过SFTP将该文件传输到Windows机器。然后我需要用Excel打开这个文件,但是Excel没有UTF8,所以我总是需要在能够将UTF8转换为ANSI的文本编辑器中打开这个文件。我很乐意使用Ruby以编程方式执行此操作并避免手动转换步骤。最简单的方法是什么?PS:我尝试使用iconv但没有成功。 最佳答案 ascii_str=yourUTF8text.unpack("U*").map{|c|c.chr}.join假设您的文本确实适合ascii字符集。

ruby - Regexp.escape 不转义正斜杠?

在IRB中,如果我将类似“/domain/path”的字符串传递给Regexp.escape,它只会返回相同的字符串。我认为正斜杠应该用反斜杠转义?我在这里遗漏了什么吗? 最佳答案 此外,如果您指定其他类型的分隔符(或创建Regexp类的实例),您需要转义/字符的唯一原因是因为它是正则表达式的分隔符你不会有这个问题:/^hello\/world$/#escaping'/'justtosay:"thisisnottheend"%r"^hello/world$"#noneedforescaping'/'Regexp.new('^hell

ruby `split' : invalid byte sequence in UTF-8 (ArgumentError)

我正在尝试填充电影对象,但在解析u.item文件时出现此错误:`split':invalidbytesequenceinUTF-8(ArgumentError)File.open("Data/u.item","r")do|infile|whileline=infile.getsline=line.split("|")endend仅当尝试使用花哨的国际标点符号拆分行时才会发生错误。这是一个例子543|Misérables,Les(1995)|01-Jan-1995||http://us.imdb.com/M/title-exact?Mis%E9rables%2C%20Les%20%281

javascript - Escape String - 在 Javascript 中输出 rails 字符串

这个问题在这里已经有了答案:HowtopassRubyvariablestoaJavaScriptfunctioninaRailsview?(6个答案)关闭8年前。我正在尝试将字符串值分配给.erb文件中的javascript对象,如下所示:vardata={'name':'',...};问题是,如果name的值是Tom'ssmallears,data.name的输出将是Tom'ssmallears.有没有办法转义特殊字符?我试过做'name':''但是UncaughtSyntaxError:Unexpectedidentifier将输出输出到控制台。正在做输出Tom\&#x

ruby - Notepad++ 只是调用 "ANSI"的编码,有谁知道在 Ruby 中如何调用它?

我有一堆.txt,Notepad++说(在其下拉“编码”菜单中)是“ANSI”。它们中有德语字符[äöüß],在Notepad++中显示良好。但是当我File.read'thisisaGermantextexample.txt'它们时,它们并没有正确显示在irb中。那么有人知道我应该给Encoding.default_external=什么参数吗?(我假设这就是解决方案,对吧?)当'utf-8'或'cp850'时,它读取带有“äöüß”的“ANSI”文件为“\xE4\xF6\xFC\xDF”...(请不要犹豫,在你的回答中提及明显“显而易见”的事情;我和你一样新手,但仍然知道足以问这个

ruby-on-rails - Ruby 2.0.0 字符串#Match ArgumentError : invalid byte sequence in UTF-8

我经常看到这种情况,但还没有想出一个优雅的解决方案。如果用户输入包含无效的字节序列,我需要能够让它不引发异常。例如:#@raw_responsecomesfromuserandcontainsinvalidUTF-8#forexample:@raw_response="\xBF"regex.match(@raw_response)ArgumentError:invalidbytesequenceinUTF-8已经问了很多类似的问题,结果似乎是对字符串进行编码或强制编码。然而,这些都不适合我:regex.match(@raw_response.force_encoding("UTF-8"

ruby-on-rails - Ruby on Rails "invalid byte sequence in UTF-8"由于机器人

我有一些由中文机器人触发的错误:http://www.easou.com/search/spider.html当它滚动我的网站时。我的应用程序版本都是Ruby1.9.3和Rails3.2.X这里是堆栈跟踪:AnArgumentErroroccurredinlistings#show:invalidbytesequenceinUTF-8rack(1.4.5)lib/rack/utils.rb:104:in`normalize_params'-------------------------------Request:-------------------------------*URL: