こんにちは、私は電卓を作るつもりで、+/- ボタンが欲しいです。*
文字列内の最新の, -
,+
を取得し、最後/
の文字列を定義したいと考えています。
例えば:
str="2+3*13"
これを次のように分割したい:
strA="2+3*"
strB="13"
もう一つの例:
str="3-2+8"
次のように分割する必要があります。
strA="3-2+"
strB="8"
こんにちは、私は電卓を作るつもりで、+/- ボタンが欲しいです。*
文字列内の最新の, -
,+
を取得し、最後/
の文字列を定義したいと考えています。
例えば:
str="2+3*13"
これを次のように分割したい:
strA="2+3*"
strB="13"
もう一つの例:
str="3-2+8"
次のように分割する必要があります。
strA="3-2+"
strB="8"
サブストリング メソッドlastIndexOf
のいずれかを使用します。
var strA, strB,
// a generic solution for more operators might be useful
index = Math.max(str.lastIndexOf("+"), str.lastIndexOf("-"), str.lastIndexOf("*"), str.lastIndexOf("/"));
if (index < 0) {
strA = "";
strB = str;
} else {
strA = str.substr(0, index+1);
strB = str.substr(index+1);
}
正規表現と分割方法を使用できます。
var parts = "2 + 4 + 12".split(/\b(?=\d+\s*$)/);
あなたと配列を提供します:
["2 + 4 + ", "12"]
いくつかのテスト:
"(2+4)*230" -> ["(2+4)*", "230"]
"(1232-74) / 123 " -> ["(1232-74) / ", "123 "]
"12 * 32" -> ["12 * ", "32"]