3

sqliteデータベースに文字列を保存していて、それをvarに割り当てました(例:string)

string="最初の行と文字列。これは新しい行の別の文字列である必要があります"

この文字列を2つの別々の文字列に分割したいのですが、ドット(。)を(\ n)改行文字に置き換える必要があります

現時点で私は立ち往生していて、どんな助けも素晴らしいでしょう!

for row in db:nrows("SELECT * FROM contents WHERE section='accounts'") do
    tabledata[int] = string.gsub(row.contentName, "%.", "\n")
    int = int+1
end

stachoverflowでここに投稿された他の質問を試しましたが、運がありませんでした

4

2 に答える 2

4

この解決策はどうですか:`

s = "First line and string. This should be another string in a new line"
a,b=s:match"([^.]*).(.*)"
print(a)
print(b)
于 2012-08-18T08:49:10.650 に答える
1

実際に文字列を 2 つの異なる文字列オブジェクトに分割しようとしていますか? もしそうなら、これが役立つかもしれません。これは、標準の文字列ライブラリにいくつかの機能を追加するために作成した関数です。そのまま使用することも、好きなように名前を変更することもできます。

--[[

    string.split (s, p)
    ====================================================================
    Splits the string [s] into substrings wherever pattern [p] occurs.

    Returns: a table of substrings or, if no match is made [nil].

--]]
string.split = function(s, p)
    local temp = {}
    local index = 0
    local last_index = string.len(s)

    while true do
        local i, e = string.find(s, p, index)

        if i and e then
            local next_index = e + 1
            local word_bound = i - 1
            table.insert(temp, string.sub(s, index, word_bound))
            index = next_index
        else            
            if index > 0 and index <= last_index then
                table.insert(temp, string.sub(s, index, last_index))
            elseif index == 0 then
                temp = nil
            end
            break
        end
    end

    return temp
end

使い方はとても簡単で、文字列のテーブルを返します。

Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
> s = "First line and string. This should be another string in a new line"
> t = string.split(s, "%.")
> print(table.concat(t, "\n"))
First line and string
 This should be another string in a new line
> print(table.maxn(t))
2
于 2012-08-18T00:36:58.477 に答える