标签: wildcard

Java将方法参数定义为子类型

我想做的事

我有一个名为的接口strategy,它有一个方法strategise。该方法采用一个名为 的接口Entity作为参数。

public interface Strategy{

  void strategise(Entity entity);

}
Run Code Online (Sandbox Code Playgroud)
public interface Entity {
   void do_something();
}
Run Code Online (Sandbox Code Playgroud)

我有一个名为EntityImplImplements 的类EntityEntityImpl还有一个Entity没有的附加方法。

public class EntityImpl implements Entity{
    
    void do_something()         // defined in Entity interface
    void do_something_else()    // unique to Person

}
Run Code Online (Sandbox Code Playgroud)

我有另一个StrategyImpl实现strategy.

  • StrategyImpl期望将一个对象作为参数传递给它从:EntityImpl实现的函数。Strategystrategise
  • 这是因为调用了:中未定义的StrategyImpl.strategise()唯一方法。EntityImplEntitydo_something_else()
public class StrategyImpl implements Strategy {

  void strategise(Entity entity){
       entity.do_something_else();
  } …
Run Code Online (Sandbox Code Playgroud)

java generics inheritance implementation wildcard

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

当值包含特殊字符时,ElasticSearch 通配符不返回

我有一个弹性搜索服务,当您在文本输入中键入内容然后填充表格时,该服务会进行提取。对于所有字母数字值,但对于特殊字符(特别是连字符),搜索正常工作(返回过滤数据)。例如,对于国家/地区,Timor-Leste如果我作为术语传入,Timor我会得到结果,但一旦添加连字符 ( Timor-),我就会得到一个空数组响应。

const queryService = {
  search(tableName, field, term) {
    // If there is no search term, run the wildcard search with 20 values
    // for the smaller lists to be pre-populated, like "Gender"
    return `
{
  "size": ${term ? 200 : 20},
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "tablename": "${tableName}"
          }
        },
        {
          "wildcard": {
            "${field}": {
              "value": "${term ? `*${term.trim()}*` : '*'}",
              "boost": 1.0,
              "rewrite": "constant_score"
            }
          }
        } …
Run Code Online (Sandbox Code Playgroud)

wildcard amazon-web-services elasticsearch

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

使用通配符在整个数据框中替换为 NA

我有一个像这样的数据框 df

第 1 列 第2栏 第3栏
1 2 5
6 x1A 9
8 x3 7
5 3 x4Z

我想替换所有以 开头的XNA。结果应该是

第 1 列 第2栏 第3栏
1 2 5
6 不适用 9
8 不适用 7
5 3 不适用

我尝试了不同的解决方案但没有成功:

df[-grep(pattern = "X^",df),]    
df %>% mutate_all(~na_if(.,"X*"))    
df%>% mutate_all(~na_if(.,matches("X*")))    
df %>% mutate_all(~na_if(.,glob2rx("X*")))
Run Code Online (Sandbox Code Playgroud)

replace r wildcard dataframe na

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

Bash脚本.grep与通配符不工作

在bash中,我正在尝试搜索(grep)命令(ntp)的输出,以获取特定的字符串.但是,输出中的一列不断变化.所以对于那一列,它可以是任何角色.

我可能没有正确地做到这一点,但是*我没有像我希望的那样工作.

ntpq -p | grep "10 l * 64  377  0.000  0.000  0.001"
Run Code Online (Sandbox Code Playgroud)

星号正在替换从第二个更改为 - 到1-64的列.

任何帮助将非常感激!

bash grep wildcard special-characters

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

在表达中强调

下划线中的下划线意味着什么.这是scalaz7库的片段:

trait Apply[F[_]] extends Functor[F] { self =>
  //...
  def ap[A, B](fa: => F[A])(f: => F[A => B]): F[B]
  //...
  def apF[A, B](f: => F[A => B]): F[A] => F[B] = ap(_)(f)   // <----HERE
  //...
}
Run Code Online (Sandbox Code Playgroud)

使用它的一般规则是什么?

scala wildcard scalaz scalaz7

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

正则表达式 - 可选和需要

我正在尝试一些正则表达式的东西,我想知道如何做以下事情:接受:

http://google.com
https://google.com
http://google.com/
https://google.com/
http://google.com/*
https://google.com/*
http://*.google.com
https://*.google.com
http://*.google.com/
https://*.google.com/
http://*.google.com/*
https://*.google.com/*
Run Code Online (Sandbox Code Playgroud)

子域通配符可能只包含[az] [AZ] [0-9]并且是可选的,但如果它在需要后存在一个点.

我来到:

https?://(www.)google.com/
Run Code Online (Sandbox Code Playgroud)

但我认为这不是正确的工作方式......而且只有www.是可用的.我希望有人可以给我所需的结果,并解释为什么它以这种方式工作.

谢谢,

丹尼斯

regex wildcard

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

mysql - 从xyz中选择电子邮件,其中email ="%gmail.com"

有没有办法可以从数据库中选择具有特定数据的条目?我在数据库中收到了很多电子邮件地址,但我只想从一个域中选择.它甚至可能吗?

php mysql wildcard

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

使用批处理脚本从字符串中删除特定字符

我想只删除特定字符到一个字符串,只有一次.例如,如果我有这个文件:

"1234 + test.txt"
Run Code Online (Sandbox Code Playgroud)

我想删除"+"字符.我的问题是我不知道文件名中有多少"+"; 顺便说一句,我只想删除第一个:

"1234 ++ test + hello + world.txt"
Run Code Online (Sandbox Code Playgroud)

需要:

"1234 + test + hello + world.txt"
Run Code Online (Sandbox Code Playgroud)

我需要使用bat脚本执行此操作.我有一些问题正确使用"令牌,delims"参数....

编辑:我对Edoro的解决方案有疑问.如果filename是"++ plus - .txt",%left%是"plus - .txt",%right%是+ plus - .txt

string wildcard batch-file

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

无法理解java通配符

我尝试从我的Main获取foo():

<T extends Main> T foo()
{
  return this; // "this" it is a instance of Main
}
Run Code Online (Sandbox Code Playgroud)

并使用它

Main m = new Main();
Main m2 = m.foo();
Run Code Online (Sandbox Code Playgroud)

我在方法foo()中遇到错误:" 不兼容的类型.必需的T,找到主要 ".
我知道我可以用这个:

<T extends Main> T foo2(T a) {
  return a;
}
Run Code Online (Sandbox Code Playgroud)

并使用它:

Main m = new Main();
Main m3 = m.foo2(m);
Run Code Online (Sandbox Code Playgroud)

它工作正常.但我无法理解,为什么我不能使用第一种方法?因为this绝对是Main的实例扩展.

java wildcard covariance

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

在列中显示LIKE条件匹配

我有一个类似的查询:

SELECT fname, lname
FROM names
WHERE gcode LIKE %5536% OR fname LIKE %3663%
Run Code Online (Sandbox Code Playgroud)

有50个这样的条件,条款有点长,但这是一般的想法.我们不能制作临时表,所以这就是我们要走的路.

我试图返回输出在其自己的列中匹配的类似条件(即,已%5536%在其自己的列中返回)

我可以通过编程方式突出显示它,但有没有办法在SQL中执行此操作?

sql oracle wildcard

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