我想删除字符串周围的“”。
例如,如果字符串是:“I am here”,那么我只想输出I am here。
我想删除字符串周围的“”。
例如,如果字符串是:“I am here”,那么我只想输出I am here。
当前回答
请尝试使用regex从字符串中删除双引号。
$string = "I am here";
$string =~ tr/"//d;
print $string;
exit();
其他回答
如果只想从开头或结尾删除引号,请使用以下正则表达式:
'"Hello"'.replace(/(^"|"$)/g, '');
如果你可以控制你的数据,你知道你的双引号包围字符串(所以不出现在字符串中),字符串是一个整数…用:
"20151212211647278"
或者类似的,这很好地删除了周围的引号
JSON.parse("20151212211647278");
这不是一个通用的答案,但巧妙地满足了利基需求
这是为懒人设计的一款简单的工具
var str = '"a string"';
str = str.replace(/^"|"$/g, '');
如果你只想删除边界引号:
function stripquotes(a) {
if (a.charAt(0) === '"' && a.charAt(a.length-1) === '"') {
return a.substr(1, a.length-2);
}
return a;
}
如果字符串看起来不像“带引号的文本”,这种方法不会触及字符串。
以一种更容易用正则表达式表达的方式重申你的问题:
获取包含在0或1个开头双引号和0或1个结尾双引号之间的字符的子字符串。
下面是执行此操作的regexp:
var regexp = /^"?(.+?)"?$/;
var newStr = str.replace(/^"?(.+?)"?$/,'$1');
分解regexp:
^”?零或一个前导双引号的贪婪匹配 ”?$是零或一个尾随双引号的贪婪匹配 这两个字符将对所有其他字符(.+?)进行非贪婪捕获,其中将包含$1的目标。
这将返回带分隔符的“字符串”,用于:
str = "delimited "string" here" // ...
str = '"delimited "string" here"' // ...
str = 'delimited "string" here"' // ... and
str = '"delimited "string" here'