首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >去掉最后一个"-“,如果它存在于使用replaceRE的雨果短码中

去掉最后一个"-“,如果它存在于使用replaceRE的雨果短码中
EN

Stack Overflow用户
提问于 2021-05-31 09:37:06
回答 1查看 53关注 0票数 0

我在Hugo中使用了一个短代码来在.md页面上的链接中包装一个标题,这样我就可以在同一个页面上使用锚链接了。

短码将标题转换为小写,并将空格和其他字符转换为短划线。问题是,如果标题末尾有问号或其他字符,则短代码将在标题上留下尾随的"-“。如果结尾破折号-存在,我如何剥离它?

短码链接-heading.html:

代码语言:javascript
运行
复制
{{ $id := .Get 0 | lower | replaceRE "[^0-9a-z]" "-" | replaceRE "-+" "-" -}}
<a href="#{{ $id }}">
  <h2>{{ .Get 0 }}</h2>
</a>

.md文件中的快捷码用法:

代码语言:javascript
运行
复制
{{< link-heading "This is a String with a Trailing?" >}}

输出

代码语言:javascript
运行
复制
<a href="#this-is-a-heading-with-a-trailing-">
<h2>This is a Heading with a Trailing?</h2>
</a>

在为锚点链接使用markdown时

代码语言:javascript
运行
复制
## This is a String with a Trailing?

输出

代码语言:javascript
运行
复制
<h2 id="this-is-a-heading-with-a-trailing">This is a heading with a Trailing?</h5>

问题出在短码输出末尾的-。如果在上面短码link-heading.html中使用replaceRE,我如何去掉最后一个?

EN

回答 1

Stack Overflow用户

发布于 2021-05-31 09:46:09

我想我在这里可能遗漏了一些东西,但是如果您只想获取字符串末尾的-,或者如果它前面有一个?,您可以这样做:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67767057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档