2

ランダムな文字列の末尾にある数字を検出できるかどうか疑問に思っていました。たとえば、この文字列: "localfile/random/1" この文字列を分割して、1 つの変数が文字列の末尾の数字になり、2 番目の変数が残りのパスになるようにします。私は何もググることができませんでした。

どんな助けでも大歓迎です。

4

3 に答える 3

1

これにより、数値文字列の前の最後の文字を指定せずに文字列を分割できます。

set myString to "localfile/random/13451"
set delimiter to "||"

set {TID, text item delimiters} to {text item delimiters, delimiter}
set myItems to text items of (do shell script "sed -E 's/([0-9]+$)/" & delimiter & "\\1/' <<< " & quoted form of myString)
set text item delimiters to TID
return myItems 
于 2013-03-25T20:20:34.823 に答える
1

最後のスラッシュの前後で文字列を分割できる場合:

set x to "localfile/random/1"
set text item delimiters to "/"
{(text items 1 thru -2 of x) as text, last text item of x}

これらはどちらも、文字列が常に数字で終わる場合にのみ機能します。

on test(x)
    set c to count of x
    repeat with i from 1 to c
        if item (c - i) of x is not in items of "0123456789" then
            return {text 1 thru (c - i) of x, text (c - i + 1) thru -1 of x}
        end if
    end repeat
end test
test("localfile/random/1")

do shell script "sed -E $'s/([0-9]*)$/\\\\\\n\\\\1/' <<< " & quoted form of "localfile/random/1"
set {x, y} to paragraphs of result
于 2013-03-25T16:33:28.897 に答える
0

これはどう?

set s to "blah4"
set l to (get last character of s)
if "1234567890" contains l then log "yes"
于 2014-07-04T12:18:56.190 に答える