You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为字符串首尾添加字符?是否有现成实现函数?

给字符串首尾添加字符的现成函数方案

嘿,看你用的'<' ++ "example" ++ '>'这种写法,应该是在Haskell里开发吧?刚好可以针对这个场景给你捋捋:

1. Haskell 场景下的方案

用 Data.Text 模块(推荐)

如果你用的是更高效的Text类型(而不是原生的String),标准库直接提供了现成的surround函数,完美解决你的需求:

import Data.Text (Text, surround, pack, unpack)

-- 把普通字符串转成Text,包裹后再转回String(如果需要的话)
wrappedText :: String
wrappedText = unpack $ surround (pack "<>") (pack "example")
-- 结果就是 "<example>"

这个函数可以接受任意首尾的字符串(不止单个字符),比如想加<!--和-->也完全没问题。

用原生 String 类型

原生String(本质是[Char])的标准库没有专门的包裹函数,但自己写一个超级简单,几行代码的事:

-- 针对单个首尾字符的版本
wrapChar :: Char -> Char -> String -> String
wrapChar open close s = open : s ++ [close]

-- 调用示例:wrapChar '<' '>' "example" → "<example>"

-- 更通用的、支持字符串首尾的版本
wrapStr :: String -> String -> String -> String
wrapStr prefix suffix s = prefix ++ s ++ suffix

-- 调用示例:wrapStr "<" ">" "example" → "<example>"

其实甚至不用单独写函数,直接写"<" ++ s ++ ">"也很直观,完全够用。

2. 其他编程语言的小补充

如果是用其他语言,大多也有便捷的方式:

  • Python:直接用f-string f"<{your_string}>",或者字符串格式化"<{}>".format(your_string),比单独写函数更顺手
  • JavaScript:用模板字符串 <${yourString}> 就能搞定
  • Java:可以用String.format("<%s>", yourString),或者Guava库的Strings.prefixSuffixJoiner("<", ">").join(yourString)

总的来说,要么直接用语言自带的字符串格式化能力,要么写个超简单的工具函数,成本都很低~

内容的提问来源于stack exchange,提问作者Pedro Lima

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:53:29