根据条件从字符串中选择单词

uurity8g  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(243)

我正在尝试根据周围的条件从字符串中选择一个特定的单词。具体来说,我想从mysql查询中选择一个单词。
例如:
选择用波浪号()包围的单词:i am a'apple->apple;
从“tablename”->data-或-{“data”,“tablename”}中选择“data”(我主要需要输出“数据”,但如果必须选择波浪形中的所有内容,我可以解决这个问题。)
我有一个查询函数,目前需要2个参数(以便更简单地将数据库值存储在变量中)。

function MysqlQuery($query, $find)
{
    $query = MysqlQueryWild($query);
    $fetch = $query->fetch_array();
    // Used to run a standard select query.
    return $fetch[$find];
}

我想把它简化为只需要一个参数,即查询,并使用上述方法在函数中自动选择列。
我最近得到的是:

function MysqliQuery($query)
{
    preg_match('"([^\\`]+)"', $query, $result);
    $query = MysqlQueryWild($query);
    $fetch = $query->fetch_array();
    // Used to run a standard select query.
    return $fetch[$result[0]];
}

但是它选择了“select”这个词,而不是用波浪形符号括起来。

b4wnujal

b4wnujal1#

在sql中,您可以使用关键字“like”来查找具有指定条件的条目。%用于表示0-inf字符,\表示1个字符。对于您的示例,这是您想要的select查询。
选择“数据”
从“表名”
其中“column name”类似于“%`”;
因此,对于您的情况,只需使用此查询,而不是试图获取所有单词并手动查找由颚化符包围的单词

相关问题