string - 删除变量开头和结尾的子字符串匹配模式

标签 string bash variables

正如标题所说,我正在寻找一种方法来删除变量开头和结尾处的已定义模式。我知道我必须使用 #%但我不知道正确的语法。

在这种情况下,我想删除 http://一开始,和/score/在变量的末尾 $line这是从 file.txt 中读取的.

最佳答案

嗯,你不能嵌套 ${var%}/${var#} 操作,所以你必须使用临时变量。

喜欢这里:

var="http://whatever/score/"
temp_var="${var#http://}"
echo "${temp_var%/score/}"

或者,您可以将正则表达式与(例如)sed 一起使用:

some_variable="$( echo "$var" | sed -e 's#^http://##; s#/score/$##' )"

关于string - 删除变量开头和结尾的子字符串匹配模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17129050/

相关文章:

java - 如何在 | 上拆分字符串Java 中的(管道)

bash - 如何在单独的自动变量中获得这些结果?

bash - 如何在 bash 中设置两级重定向?

Python Tkinter : How do I avoid global variables in a changing class?

c++ - 如何在 Messagebox 中显示变量+文本? Winapi32 C++

c++ - MFC:std::string vs CString?

c - 给定一些文本输入,找到最大的字谜组

string - 在 tcl 中连接两个字符串

bash - 在 sed 的替换字符串中使用文件内容

bash - 在 bash 中无需按 ctrl+r 即可触发反向搜索的替代方法