【问题标题】:Add a character to the beginning and end of a string在字符串的开头和结尾添加一个字符
【发布时间】:2012-06-28 14:35:37
【问题描述】:

我正在使用一个平台,它使用类似 JavaScript 的语法并允许使用正则表达式转换我的值。

我需要在字符串的开头和结尾添加一个单引号,该字符串将始终包含 9 个字符。

即:

123456789 应转换为'123456789'

我应该使用什么表达方式?

【问题讨论】:

  • 这和正则表达式有什么关系? "'" + num + "'"
  • 什么平台?您能否提供您可能需要输入的内容的示例?

标签: javascript regex


【解决方案1】:

您不需要正则表达式。

str = "123456789";

str = "'" + str + "'";

【讨论】:

  • 谢谢,但是这个工具只为你提供了一个“正则表达式”选项来转换值,所以当我尝试“'”+ str+“'”时它不起作用。它希望我使用正则表达式语法。
  • 抱歉浪费您的时间。现在正在工作。您的回答与我所做的不完全一样,但它提醒我这是一个简单的解决方案:)
【解决方案2】:

虽然这个问题问得有点早,但新定义的 backticks 标准从 ES6 称为 Template Literals 提供了用更简单的语法解决这个问题的新可能性:

const str = '123456789';
const wrapped = `'${str}'`;

【讨论】:

    【解决方案3】:

    如果它像 Javascript,你可以做类似...

    var myString = "'" + oldString + "'";
    

    oldString 是你的 123456789

    【讨论】:

      【解决方案4】:

      str = "123456789";
      str = str.replace(/^/,"'").replace(/$/,"'")
      console.log(str)

      【讨论】:

        【解决方案5】:

        您可以使用文字\\'123456789\'。

        【讨论】:

          【解决方案6】:

          为什么不强制转换为 String 类型:

          var strValue = String(123456789);
          

          【讨论】:

            【解决方案7】:

            或者使用 lodash _.pad

            var str = '123456789';
            console.log(_.pad(str, 11, '\''));
            <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2018-11-05
              • 1970-01-01
              • 2011-07-26
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多