小编Bal*_*ala的帖子

如何匹配ruby中的多个正则表达式模式

我在不同的背景下看到了关于多个正则表达式模式的几个问题,但我无法掌握它.

我有一个字符串str = "Hello, how are you. Hello, I am lloyds",我想在其中应用多个模式来一次性提取所有Hellos和所有lls ["Hello", "Hello", "ll", "ll", "ll"].我该怎么做?

我能做的唯一方法是(一次性不是多个模式)

str = "Hello, how are you. Hello, I am lloyds"
a = []
a << str.scan(/Hello/)
a << str.scan(/ll/)
a.flatten
Run Code Online (Sandbox Code Playgroud)

ruby regex

2
推荐指数
1
解决办法
4601
查看次数

如何处理在React中设置状态的onChange事件?

我正在学习React,并在下面的代码中得到...cannot update during an existing state transition....在寻找修复它时,我在SO中读到setState不应该在render()中使用,因为它反复调用render()导致无限循环.但我不知道如何解决它.

import React from 'react';
import ReactDOM from 'react-dom';

export default class CheckBox extends React.Component{
    constructor() {
        super();
        this.state = {isChecked: false};
    }
    handleChecked () {
        this.setState({isChecked: !this.state.isChecked});
    }
    render(){
        var txt;
        if (this.state.isChecked) {
            txt = 'checked'
        } else {
            txt = 'unchecked'
        }
        return(
          <div>
            <input type="checkbox" onChange={this.handleChecked()}/>
            <p>This box is {txt}</p>
          </div>
        );
    }
}

ReactDOM.render(<CheckBox/>, document.getElementById('hello'));
Run Code Online (Sandbox Code Playgroud)

reactjs

2
推荐指数
1
解决办法
6185
查看次数

如何在Java中拆分字符串,删除最后一个元素并重新加入?

我有一个filesFound保存文件名的数组变量。如何删除最后的数字部分,包括其扩展名。

...
File[] filesFound = SomeUtils.findFile("xyz","c:\\") 

//fileFound[0] is now "abc_xyz_pqr_27062016.csv"
//What I need is "abc_xyz_pqr" only

String[] t = filesFound[0].toString().split("_")
Arrays.copyOf(t, t.length - 1) //this is not working
...
Run Code Online (Sandbox Code Playgroud)

java

2
推荐指数
3
解决办法
2394
查看次数

灵丹妙药中的协议有什么意义?

在使用网络协议(http、ftp 等)这个术语后,我对它在 Elixir 中的用法感到困惑。例如,有对 Enum 模块和 Enumerable Protocol 的引用。Elixir 文档说Protocols are a mechanism to achieve polymorphism in Elixir

它们不只是具有一组方法/功能的模块吗?有什么区别吗?

elixir

2
推荐指数
1
解决办法
174
查看次数

如何在 Scala 中查找值类型的实例?

我知道isInstanceOf可用于查找值类型,但如何查找“str”的类型?

它是什么类型?

scala> val str = ("Scala", "Elixir","Spark")
str: (String, String, String) = (Scala, Elixir, Spark)
Run Code Online (Sandbox Code Playgroud)

以下会引发错误(暂时排除 Any/AnyRef 等):

scala> str.isInstanceOf[List]
<console>:13: error: type List takes type parameters
       str.isInstanceOf[List]

scala> str.isInstanceOf[String]
<console>:13: warning: fruitless type test: a value of type (String, String, String) cannot also be a String (the underlying of String)
       str.isInstanceOf[String]
                       ^
res9: Boolean = false
Run Code Online (Sandbox Code Playgroud)

我可以通过这种方式检查它,但是有名称吗?

scala> str.isInstanceOf[(String, String, String)]
res12: Boolean = true
Run Code Online (Sandbox Code Playgroud)

scala

2
推荐指数
1
解决办法
2万
查看次数

StructType不能接受对象?

我该如何解决这个问题?

rdd.collect()  //['3e866d48b59e8ac8aece79597df9fb4c'...]

rdd.toDF()    //Can not infer schema for type: <type 'str'>

myschema=StructType([StructField("col1", StringType(),True)])
rdd.toDF(myschema).show()
Run Code Online (Sandbox Code Playgroud)

// StructType不能接受对象"3e866d48b59e8ac8aece79597df9fb4c"的类型

pyspark

2
推荐指数
1
解决办法
3081
查看次数

这还是一个类变量吗?

我理解类变量应该从一开始@@.现在我有这个课:

class C
  @v = "my variable"

  def self.get_v
    @v
  end
end

puts C.get_v  #returns "my variable"
Run Code Online (Sandbox Code Playgroud)

@v仍然是一个类变量?但它没有@@

ruby variables class

1
推荐指数
1
解决办法
90
查看次数

如何在偶数位置提取文本?

我正在使用Nokogiri提取一个页面,它返回一个Nokogiri :: XML :: NodeSet.由此,我想从偶数节点中仅提取文本.

doc.search("h2 a").class #=> Nokogiri::XML::NodeSet
doc.search("h2 a").count #=> returns 148
Run Code Online (Sandbox Code Playgroud)

我对0,2,4,8等感兴趣:

doc.search("h2 a")[0].text #=> the one I wanted.
doc.search("h2 a")[2].text #=> the one I wanted.
Run Code Online (Sandbox Code Playgroud)

ruby nokogiri

1
推荐指数
1
解决办法
73
查看次数

如何在 ruby​​ 中使用正则表达式获取 html 类值

我有下面的字符串,我想从中提取类值“ruby”、“html”、“java”。我的目标是理解/学习我一直害怕的正则表达式:-)。

<div class="ruby" name="ruby_doc">
<div class="html" name="html_doc">
<div class="java" name="java_doc">
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止

str = <<END
<div class="ruby" name="ruby_doc">
<div class="html" name="html_doc">
<div class="java" name="java_doc">
END

str.scan(/"[^"]+/) #=> returns
["\"ruby", "\" name=", "\"ruby_doc", "\">\n<div class=", "\"html",...]

str.scan(/class="[^"]+/) #=> ["class=\"ruby", "class=\"html", "class=\"java"]

str.scan(/"(\w)+?"/) #=> [["ruby"], ["ruby_doc"], ["html"], ["html_doc"], ...]
Run Code Online (Sandbox Code Playgroud)

ruby regex

1
推荐指数
1
解决办法
1345
查看次数

如何使用dict理解条件替换键

我有一本字典

d={'user': 'bala', 'password': 'pass', 'filetype': 'as-parquetfile'}
Run Code Online (Sandbox Code Playgroud)

所有键都应加上前缀,--filetype应替换--

{'--user': 'bala', '--password': 'pass', '--': 'as-parquetfile'}
Run Code Online (Sandbox Code Playgroud)

如果我执行以下操作,则会收到语法错误。

{'--'+k:v if k!='filetype' else '--':v for (k,v) in d.items()}
Run Code Online (Sandbox Code Playgroud)

python dictionary-comprehension

1
推荐指数
1
解决办法
54
查看次数