3

次のようなダッシュで区切られた文字列があります。

x#-ls-foobar-takemeoff-

ダッシュで終わる任意の数の文字takemeoff-を使用して、javascript を使用して削除するにはどうすればよいですか?takemeoff-

4

3 に答える 3

7
var str = "x#-ls-foobar-takemeoff-";
var newStr = str.replace(/[^-]+-$/,"");

基本的な正規表現は言う

[^-]+  <-- Match any characters that is not a dash
-      <-- Match a dash character
$      <-- Match the end of a string
于 2012-05-24T14:29:51.680 に答える
1

string がある場合strは、次のことができます。

str = str.substr(0, str.lastIndexOf("-", str.length - 2));
于 2012-05-24T14:29:29.527 に答える
0

substr()と の使用lastIndexOf():

var myStr = "x#-ls-foobar-takemeoff-";

myStr = myStr.substr(0, myStr.length-1); // remove the trailing -

var lastDash = myStr.lastIndexOf('-'); // find the last -
myStr = myStr.substr(0, lastDash);

alert(myStr);

出力:

x#-ls-foobar

ここでjsFiddle

于 2012-05-24T14:36:13.103 に答える