在字符串的开头和结尾添加一个字符

42
我正在使用一个平台,它使用类似 JavaScript 的语法,并允许使用正则表达式转换值。
我需要在字符串的开头和结尾添加单引号,该字符串始终包含9个字符。
例如: 123456789 应该被转换为 '123456789' 我应该使用什么表达式?

4
这与正则表达式有什么关系?"'" + num + "'"这段代码主要是将数值型变量 num 转换成字符串类型,并在其前后添加单引号。这通常用于构建 SQL 查询语句中的条件子句或者其他需要拼接字符串的场合。正则表达式在这里并没有涉及到。 - Andrew Whitaker
平台是什么?你能提供一个你可能需要输入的示例吗? - Chris Moutray
7个回答

77

您无需使用正则表达式。

str = "123456789";

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

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

12

虽然这个问题被提出得有点早,但是 ES6 中新定义的 backticks 标准,也称为模板字面量,提供了一种更简洁的语法来解决这个问题:

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

7
如果像JavaScript一样,您可以尝试以下操作...
var myString = "'" + oldString + "'";

其中 oldString 是指您的 123456789


1

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


0

为什么不直接强制转换为字符串类型:

var strValue = String(123456789);

0
你可以使用字面值 \ \'123456789\'。

0

或者使用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>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接