2017-02-23 12 views
-4

文字列から最後と最初のアポストロフィ(')を削除するにはどうすればよいですか?文字列から最後と最初のアポストロフィ( ')を削除するには

文字列が"'name'"で、"name"に変更する必要があります。アポストロフィ記号( ')は必要ありません。

+6

多分 '.replace()'メソッド、もしくは '.slice()'メソッド、もしくは '.substring()'メソッド、もしくは '.SUBSTR()'方法、または...あなたは何を試しましたか? – nnnnnn

+0

へようこそ!、あなたのコードを共有してください。何か試しましたか?これを行う方法がわからない場合は、google *文字列*の値を置き換える方法を解説し、解を理解しようとしてください。何も助けなければ、私たちはあなたを助けます – Rajesh

+0

var firstApostrophe = string.indexOf( "'") var lastApostrophe = string.lastIndexOf( "'") string = string.slice(firstApostrophe、firstApostrophe + 1).slice lastApostrophe、lastApostrophe + 1) – noitse

答えて

-1

正規表現を使用できます。

var input = "'Hello Man'"; 
 

 
var output = input.replace(
 
    /^(?:')(.*)(?:')$/, 
 
    "$1" 
 
); 
 

 
console.log({output, input});

@nnnnnnが示唆するように、同じ結果がこの方法で達成することができます:

input.replace(/^'|'$/g,'')

+0

または' input.replace(/^'(.*)'$/,'$ 1 ') ' - アポストロフィの周りに余分なグループは必要ありません。あるいは、 'input.replace(/^'|' $/g、 '')'だけです。 – nnnnnn

+0

私の教授が言っていたように、かっこは自由であり、読みやすさを向上させるために使うべきです。 '(?:)'は非捕捉グループを表し、正規表現の一部です。同じことをするのはちょっと違う方法です。 – Hitmands

+0

私は '(?:)'が何をするのか知っています。私のポイントは、この場合、 '/^'(.*)'$/'よりも読むことが難しくなっていることです(少なくとも読むのは難しいと思います)。 – nnnnnn

-1

これはそれを行う必要があります! Replace

PS:申し訳ありません、質問を完全に読んでください!

+2

これはしません。私はあなたに理由を考えさせておきます – Rajesh

+1

'' 'は何も出現しません。' 'trailing''と' leading''だけを削除してください。 – Hitmands

+0

@Rajesh今私は質問を読んでいないためにばかげているように感じる! :P また、ヒットマンズよ!わかった。ありがとう –

-2

var str = '"\'name\'"'; 
 
var cleanStr = str.replace(/"'|'"/g, '"'); 
 
console.log(cleanStr);

+0

'' first'と 'last'は' '前後のアポストロフィー 'を意味すると思います。さらに、正規表現に '二重引用符(double quotes) 'を追加しましたが、それらはopには表示されません。 – Hitmands

+0

私は、入力文字列に実際に二重引用符が含まれているのではないかと疑います。 – nnnnnn

+0

私はそれを書いた通りに取った。 OPは具体的には ''名前 ''で終わりたいと思っていました。 – sideroxylon

関連する問題