何かに来ている:ASCIIのテキストでなければなりませんストリングパーツは、新しい文字列で記述されたASCIIに
result="72:101:108:108:111;116:104:105:115;..."
:
str="Hello;this;is;a;text"
は私が結果としてたいことはこれです。 (「;」など)特定の文字または文字列を検索
は何かに来ている:ASCIIのテキストでなければなりませんストリングパーツは、新しい文字列で記述されたASCIIに
result="72:101:108:108:111;116:104:105:115;..."
:
str="Hello;this;is;a;text"
は私が結果としてたいことはこれです。 (「;」など)特定の文字または文字列を検索
はあなたがする必要がどのようなhttps://www.lua.org/pil/20.html
- - string.byte
によって行うことができ、そのASCIIコードに文字を変換するhttps://www.lua.org/pil/20.1.html
string.find
を使用して行うことができます上記の2つの関数を使用して新しい文字列を作成しています。あなたはより多くの文字列ベースの機能が必要な場合は、公式Luaのサイトを参照してください。https://www.lua.org/pil/contents.html
;
で区切られた各単語を取得し、変換するための文字列マッチングを使用することができ
:
local str = "Hello;this;is;a;text"
for word in str:gmatch("[^;]+") do
ascii = table.pack(word:byte(1, -1))
local converted = table.concat(ascii, ":")
print(converted)
end
上記のコードの出力次のとおりです。
72:101:108:108:111
116:104:105:115
105:115
97
116:101:120:116
残りの作業はお任せします。ヒント:table.concat
を使用してください。
T={}
for c=0,255 do
T[string.char(c)]=c..":"
end
T[";"]=";"
str="Hello;this;is;a;text"
result=str:gsub(".",T):gsub(":;",";")
print(result)
はgsub
が、それは代替品を読み込み、テーブルを受け入れているという事実があること悪用別のアプローチは、あります
str=str1&" "&str2
わかりました...私は道をさらに得たが、私は、文字列を返す方法を見つけることができません。ここで
別の質問。しかし、[文字列連結演算子](https://www.lua.org/manual/5.3/manual.html#3.4.6)が必要です。 – lhf
のような2つの別々の文字列で構成されたもう一つの可能性:
function convert(s)
return (s:gsub('.',function (s)
if s == ';' then return s end
return s:byte()..':'
end)
:gsub(':;',';')
:gsub(':$',''))
end
print(convert 'Hello;this;is;a;text')
'string.gsu "012"、 "(^)"、function(c)return tostring(string.byte(c)).. ':' end) ' – moteus