strReverse

引数に指定した文字列を反転させます。

構文
strReverse( str )
引数
str必須
反転させる文字列
戻り値

プログラム

UWSC
//////////////////////////////////////////////////
// 【引数】
//   str : 反転させる文字列 
// 【戻値】
//   
//////////////////////////////////////////////////
FUNCTION strReverse(str)
	DIM res = ""
	FOR i = 1 TO LENGTH(str)
		res = COPY(str, i, 1) + res
	NEXT
	RESULT = res
FEND

プログラム実行例

逆再生文字列を生成

逆再生したい文字列をローマ字に変換して並び順を反転させ、その文字をかな変換することで逆再生文字列を作ることができます。

すべての文字列が成り立つわけではありませんので参考程度に。

UWSC
DIM str = "おめでとう"
DIM rmj = Romaji.Nippon(str)
DIM reverse = strReverse(rmj)
PRINT "ローマ字," + rmj
PRINT "反転," + reverse
PRINT "反転<#DBL>かな<#DBL>," + Romaji.Kana(reverse)
//////////////////////////////////////////////////
// 【引数】
//   str : ローマ字に変換する文字列(Romaji.Kanaのみ日本語に変換する文字列) 
// 【戻値】
//   ローマ字または"かな"に変換した文字列 
//////////////////////////////////////////////////
MODULE Romaji
CONST RMJ_NIPPON = 1			// 日本式
CONST RMJ_KUNREI = 2			// 訓令式
CONST RMJ_KUNREIEX = 3			// 訓令式(拡張版)
CONST RMJ_HEPBUM = 4			// ヘボン式
CONST RMJ_ENGLISH = 5			// 英語式
CONST RMJ_PASSPORT = 6			// パスポート式
CONST RMJ_PASSPORTKUNREI = 7	// パスポート向け訓令式
// 日本式
FUNCTION Nippon(str)
str = STRCONV(str, SC_KATAKANA)
str = youon(str, RMJ_NIPPON)
str = seion(str, RMJ_NIPPON)
str = hatsuon(str, RMJ_NIPPON)
str = sokuon(str, RMJ_NIPPON)
str = chouon(str, RMJ_NIPPON)
RESULT = str
FEND
// 訓令式
FUNCTION Kunrei(str)
str = STRCONV(str, SC_KATAKANA)
str = youon(str, RMJ_KUNREI)
str = seion(str, RMJ_KUNREI)
str = hatsuon(str, RMJ_KUNREI)
str = sokuon(str, RMJ_KUNREI)
str = chouon(str, RMJ_KUNREI)
RESULT = str
FEND
// 訓令式(拡張版)
FUNCTION KunreiEx(str)
str = STRCONV(str, SC_KATAKANA)
str = youon(str, RMJ_KUNREIEX)
str = seion(str, RMJ_KUNREIEX)
str = hatsuon(str, RMJ_KUNREIEX)
str = sokuon(str, RMJ_KUNREIEX)
str = chouon(str, RMJ_KUNREIEX)
RESULT = str
FEND
// ヘボン式
FUNCTION Hepbum(str)
str = STRCONV(str, SC_KATAKANA)
str = youon(str, RMJ_HEPBUM)
str = seion(str, RMJ_HEPBUM)
str = hatsuon(str, RMJ_HEPBUM)
str = sokuon(str, RMJ_HEPBUM)
str = chouon(str, RMJ_HEPBUM)
RESULT = str
FEND
// 英語式
FUNCTION English(str)
str = STRCONV(str, SC_KATAKANA)
str = youon(str, RMJ_ENGLISH)
str = seion(str, RMJ_ENGLISH)
str = hatsuon(str, RMJ_ENGLISH)
str = sokuon(str, RMJ_ENGLISH)
str = chouon(str, RMJ_ENGLISH)
RESULT = str
FEND
// パスポート式
FUNCTION Passport(str)
str = STRCONV(str, SC_KATAKANA)
str = youon(str, RMJ_PASSPORT)
str = seion(str, RMJ_PASSPORT)
str = hatsuon(str, RMJ_PASSPORT)
str = sokuon(str, RMJ_PASSPORT)
str = chouon(str, RMJ_PASSPORT)
RESULT = STRCONV(str, SC_UPPERCASE)
FEND
// パスポート向け訓令式
FUNCTION PassportKunrei(str)
str = STRCONV(str, SC_KATAKANA)
str = youon(str, RMJ_PASSPORTKUNREI)
str = seion(str, RMJ_PASSPORTKUNREI)
str = hatsuon(str, RMJ_PASSPORTKUNREI)
str = sokuon(str, RMJ_PASSPORTKUNREI)
str = chouon(str, RMJ_PASSPORTKUNREI)
RESULT = STRCONV(str, SC_UPPERCASE)
FEND
// 清音
FUNCTION seion(str, type)
str = Replaces(str, "ア イ ウ エ オ", "a i u e o")
str = Replaces(str, "カ キ ク ケ コ", "ka ki ku ke ko")
str = Replaces(str, "ナ ニ ヌ ネ ノ", "na ni nu ne no")
str = Replaces(str, "マ ミ ム メ モ", "ma mi mu me mo")
str = Replaces(str, "ラ リ ル レ ロ", "ra ri ru re ro")
str = Replaces(str, "ヤ ユ ヨ", "ya yu yo")
str = Replaces(str, "ガ ギ グ ゲ ゴ", "ga gi gu ge go")
str = Replaces(str, "バ ビ ブ ベ ボ", "ba bi bu be bo")
str = Replaces(str, "パ ピ プ ペ ポ", "pa pi pu pe po")
SELECT type
// 日本式
CASE RMJ_NIPPON
str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
str = Replaces(str, "ワ ヰ ヱ ヲ", "wa wi we wo")
str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
str = Replaces(str, "ダ ヂ ヅ デ ド", "da di du de do")
// 訓令式
CASE RMJ_KUNREI
str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
str = Replaces(str, "ダ ヂ ヅ デ ド", "da zi zu de do")
// 訓令式(拡張版)
CASE RMJ_KUNREIEX
str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
str = Replaces(str, "ダ ヂ ヅ デ ド", "da zi zu de do")
str = REPLACE(str, "ヴ", "bu")
// ヘボン式
CASE RMJ_HEPBUM
str = Replaces(str, "サ シ ス セ ソ", "sa shi su se so")
str = Replaces(str, "タ チ ツ テ ト", "ta chi tsu te to")
str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi fu he ho")
str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za ji zu ze zo")
str = Replaces(str, "ダ ヂ ヅ デ ド", "da ji zu de do")
// 英語式
CASE RMJ_ENGLISH
str = Replaces(str, "サ シ ス セ ソ", "sa shi su se so")
str = Replaces(str, "タ チ ツ テ ト", "ta chi tsu te to")
str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi fu he ho")
str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za ji zu ze zo")
str = Replaces(str, "ダ ヂ ヅ デ ド", "da ji zu de do")
// パスポート式
CASE RMJ_PASSPORT
str = Replaces(str, "サ シ ス セ ソ", "sa shi su se so")
str = Replaces(str, "タ チ ツ テ ト", "ta chi tsu te to")
str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi fu he ho")
str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za ji zu ze zo")
str = Replaces(str, "ダ ヂ ヅ デ ド", "da ji zu de do")
str = REPLACE(str, "ヴ", "bu")
// パスポート向け訓令式
CASE RMJ_PASSPORTKUNREI
str = Replaces(str, "サ シ ス セ ソ", "sa si su se so")
str = Replaces(str, "タ チ ツ テ ト", "ta ti tu te to")
str = Replaces(str, "ハ ヒ フ ヘ ホ", "ha hi hu he ho")
str = Replaces(str, "ワ ヰ ヱ ヲ", "wa i e o")
str = Replaces(str, "ザ ジ ズ ゼ ゾ", "za zi zu ze zo")
str = Replaces(str, "ダ ヂ ヅ デ ド", "da zi zu de do")
str = REPLACE(str, "ヴ", "bu")
SELEND
RESULT = str
FEND
// 拗音
FUNCTION youon(str, type)
str = Replaces(str, "キャ キュ キョ", "kya kyu kyo")
str = Replaces(str, "ニャ ニュ ニョ", "nya nyu nyo")
str = Replaces(str, "ヒャ ヒュ ヒョ", "hya hyu hyo")
str = Replaces(str, "ミャ ミュ ミョ", "mya myu myo")
str = Replaces(str, "リャ リュ リョ", "rya ryu ryo")
str = Replaces(str, "ギャ ギュ ギョ", "gya gyu gyo")
str = Replaces(str, "ビャ ビュ ビョ", "bya byu byo")
str = Replaces(str, "ピャ ピュ ピョ", "pya pyu pyo")
SELECT type
// 日本式
CASE RMJ_NIPPON
str = Replaces(str, "シャ シュ ショ", "sya syu syo")
str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
str = Replaces(str, "ヂャ ヂュ ヂョ", "dya dyu dyo")
str = Replaces(str, "クヮ グヮ", "kwa gwa")
str = Replaces(str, "スィ ティ トゥ", "s'i t'i t'u")
str = Replaces(str, "ズィ ディ ドゥ", "z'i d'i d'u")
// 訓令式
CASE RMJ_KUNREI
str = Replaces(str, "シャ シュ ショ", "sya syu syo")
str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
str = Replaces(str, "ヂャ ヂュ ヂョ", "zya zyu zyo")
str = Replaces(str, "スィ ティ トゥ", "s'i t'i t'u")
str = Replaces(str, "ズィ ディ ドゥ", "z'i d'i d'u")
// 訓令式(拡張版)
CASE RMJ_KUNREIEX
str = Replaces(str, "イャ イュ イョ", "ya yu yo")
str = Replaces(str, "シャ シュ ショ", "sya syu syo")
str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
// 特殊音
str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
str = Replaces(str, "ヂャ ヂュ ヂョ", "zya zyu zyo")
str = Replaces(str, "イェ", "ye")
str = Replaces(str, "キェ", "kye")
str = Replaces(str, "シェ", "sye")
str = Replaces(str, "チェ", "tye")
str = Replaces(str, "ニェ", "nye")
str = Replaces(str, "ヒェ", "hye")
str = Replaces(str, "ミェ", "mye")
str = Replaces(str, "リェ", "rye")
str = Replaces(str, "ギェ", "gye")
str = Replaces(str, "ジェ", "zye")
str = Replaces(str, "ヂェ", "zye")
str = Replaces(str, "ビェ", "bye")
str = Replaces(str, "ピェ", "pye")
str = REPLACE(str, "ヮ", "ァ")
str = Replaces(str, "ウァ ウィ ウェ ウォ", "wa wi we wo")
str = Replaces(str, "クァ クィ クェ クォ", "kwa kwi kwe kwo")
str = Replaces(str, "スァ スィ スェ スォ", "swa swi swe swo")
str = Replaces(str, "ツァ ツィ ツェ ツォ", "twa twi twe two")
str = Replaces(str, "ヌァ ヌィ ヌェ ヌォ", "nwa nwi nwe nwo")
str = Replaces(str, "ファ フィ フェ フォ", "hwa hwi hwe hwo")
str = Replaces(str, "ムァ ムィ ムェ ムォ", "mwa mwi mwe mwo")
str = Replaces(str, "ルァ ルィ ルェ ルォ", "rwa rwi rwe rwo")
str = Replaces(str, "グァ グィ グェ グォ", "gwa gwi gwe gwo")
str = Replaces(str, "ズァ ズィ ズェ ズォ", "zwa zwi zwe zwo")
str = Replaces(str, "ヅァ ヅィ ヅェ ヅォ", "zwa zwi zwe zwo")
str = Replaces(str, "ブァ ブィ ブェ ブォ", "bwa bwi bwe bwo")
str = Replaces(str, "プァ プィ プェ プォ", "pwa pwi pwe pwo")
str = Replaces(str, "ヴァ ヴィ ヴェ ヴォ", "ba bi be bo")
str = Replaces(str, "テャ ティ テュ テョ", "tja tji tju tjo")
str = Replaces(str, "デャ ディ デュ デョ", "dja dji dju djo")
str = Replaces(str, "トァ トィ トゥ トェ", "tva tvi tvu tve")
str = Replaces(str, "ドァ ドィ ドゥ ドェ", "dva dvi dvu dve")
str = Replaces(str, "フャ フュ フョ", "hwya hwyu hwyo")
str = Replaces(str, "ブャ ブュ ブョ", "bwya bwyu bwyo")
str = Replaces(str, "ヴャ ヴュ ヴョ", "bwya bwyu bwyo")
// ヘボン式
CASE RMJ_HEPBUM
str = Replaces(str, "シャ シュ ショ", "sha shu sho")
str = Replaces(str, "チャ チュ チョ", "cha chu cho")
str = Replaces(str, "ジャ ジュ ジョ", "ja ju jo")
str = Replaces(str, "ヂャ ヂュ ヂョ", "ja ju jo")
// 英語式
CASE RMJ_ENGLISH
str = Replaces(str, "シャ シュ ショ", "sha shu sho")
str = Replaces(str, "チャ チュ チョ", "cha chu cho")
str = Replaces(str, "ジャ ジュ ジョ", "ja ju jo")
str = Replaces(str, "ヂャ ヂュ ヂョ", "ja ju jo")
// パスポート式
CASE RMJ_PASSPORT
str = Replaces(str, "シャ シュ ショ", "sha shu sho")
str = Replaces(str, "チャ チュ チョ", "cha chu cho")
str = Replaces(str, "ジャ ジュ ジョ", "ja ju jo")
str = Replaces(str, "ヂャ ヂュ ヂョ", "ja ju jo")
// 特殊音
str = Replaces(str, "イェ ウィ ウェ ウォ", "ie ui ue uo")
str = Replaces(str, "ヴァ ヴィ ヴェ ヴォ", "bua bui bue buo")
str = Replaces(str, "クァ クィ クェ クォ", "kua kui kue kuo")
str = Replaces(str, "グァ グィ グェ グォ", "gua gui gue guo")
str = Replaces(str, "ジェ チェ", "jie chie")
str = Replaces(str, "ツァ ツィ ツェ ツォ", "tsua tsui tsue tsuo")
str = Replaces(str, "ティ ディ デュ ドゥ", "tei dei deyu dou")
str = Replaces(str, "ファ フィ フェ フォ", "fua fui fue fuo")
str = Replaces(str, "フョ", "fuyo")
// パスポート向け訓令式
CASE RMJ_PASSPORTKUNREI
str = Replaces(str, "イャ イュ イョ", "ya yu yo")
str = Replaces(str, "シャ シュ ショ", "sya syu syo")
str = Replaces(str, "チャ チュ チョ", "tya tyu tyo")
str = Replaces(str, "ジャ ジュ ジョ", "zya zyu zyo")
str = Replaces(str, "ヂャ ヂュ ヂョ", "zya zyu zyo")
// 特殊音
str = Replaces(str, "イェ", "ye")
str = Replaces(str, "キェ", "kye")
str = Replaces(str, "シェ", "sye")
str = Replaces(str, "チェ", "tye")
str = Replaces(str, "ニェ", "nye")
str = Replaces(str, "ヒェ", "hye")
str = Replaces(str, "ミェ", "mye")
str = Replaces(str, "リェ", "rye")
str = Replaces(str, "ギェ", "gye")
str = Replaces(str, "ジェ", "zye")
str = Replaces(str, "ヂェ", "zye")
str = Replaces(str, "ビェ", "bye")
str = Replaces(str, "ピェ", "pye")
str = REPLACE(str, "ヮ", "ァ")
str = Replaces(str, "ウァ ウィ ウェ ウォ", "wa wi we wo")
str = Replaces(str, "クァ クィ クェ クォ", "kwa kwi kwe kwo")
str = Replaces(str, "スァ スィ スェ スォ", "swa swi swe swo")
str = Replaces(str, "ツァ ツィ ツェ ツォ", "twa twi twe two")
str = Replaces(str, "ヌァ ヌィ ヌェ ヌォ", "nwa nwi nwe nwo")
str = Replaces(str, "ファ フィ フェ フォ", "hwa hwi hwe hwo")
str = Replaces(str, "ムァ ムィ ムェ ムォ", "mwa mwi mwe mwo")
str = Replaces(str, "ルァ ルィ ルェ ルォ", "rwa rwi rwe rwo")
str = Replaces(str, "グァ グィ グェ グォ", "gwa gwi gwe gwo")
str = Replaces(str, "ズァ ズィ ズェ ズォ", "zwa zwi zwe zwo")
str = Replaces(str, "ヅァ ヅィ ヅェ ヅォ", "zwa zwi zwe zwo")
str = Replaces(str, "ブァ ブィ ブェ ブォ", "bwa bwi bwe bwo")
str = Replaces(str, "プァ プィ プェ プォ", "pwa pwi pwe pwo")
str = Replaces(str, "ヴァ ヴィ ヴェ ヴォ", "ba bi be bo")
str = Replaces(str, "テャ ティ テュ テョ", "tja tji tju tjo")
str = Replaces(str, "デャ ディ デュ デョ", "dja dji dju djo")
str = Replaces(str, "トァ トィ トゥ トェ", "tva tvi tvu tve")
str = Replaces(str, "ドァ ドィ ドゥ ドェ", "dva dvi dvu dve")
str = Replaces(str, "フャ フュ フョ", "hwya hwyu hwyo")
str = Replaces(str, "ブャ ブュ ブョ", "bwya bwyu bwyo")
str = Replaces(str, "ヴャ ヴュ ヴョ", "bwya bwyu bwyo")
SELEND
RESULT = str
FEND
// 撥音
FUNCTION hatsuon(str, type)
SELECT type
// 日本式
CASE RMJ_NIPPON
str = Replaces(str, "ンa ンi ンu ンe ンo ンy", "n'a n'i n'u n'e n'o n'y")
str = REPLACE(str, "ン", "n")
// 訓令式
CASE RMJ_KUNREI
str = Replaces(str, "ンa ンi ンu ンe ンo ンy", "n'a n'i n'u n'e n'o n'y")
str = REPLACE(str, "ン", "n")
// 訓令式(拡張版)
CASE RMJ_KUNREIEX
str = Replaces(str, "ンa ンi ンu ンe ンo ンy ンw", "n'a n'i n'u n'e n'o n'y n'w")
str = REPLACE(str, "ン", "n")
// ヘボン式
CASE RMJ_HEPBUM
str = Replaces(str, "ンa ンi ンu ンe ンo ンy", "n-a n-i n-u n-e n-o n-y")
str = REPLACE(str, "ン", "n")
str = Replaces(str, "nb nm np", "mb mm mp")
// 英語式
CASE RMJ_ENGLISH
str = REPLACE(str, "ン", "n")
str = Replaces(str, "nb nm np", "mb mm mp")
// パスポート式
CASE RMJ_PASSPORT
str = REPLACE(str, "ン", "n")
str = Replaces(str, "nb nm np", "mb mm mp")
// パスポート向け訓令式
CASE RMJ_PASSPORTKUNREI
str = Replaces(str, "ンa ンi ンu ンe ンo ンy ンw", "n'a n'i n'u n'e n'o n'y n'w")
str = REPLACE(str, "ン", "n")
SELEND
RESULT = str
FEND
// 促音
FUNCTION sokuon(str, type)
SELECT type
// 日本式
CASE RMJ_NIPPON
str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
str = REPLACE(str, "ッ", "'")
// 訓令式
CASE RMJ_KUNREI
str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
str = REPLACE(str, "ッ", "'")
// 訓令式(拡張版)
CASE RMJ_KUNREIEX
str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
str = REPLACE(str, "ッ", "'")
// ヘボン式
CASE RMJ_HEPBUM
str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
str = Replaces(str, "ッc ッf ッj", "tc ff jj")
str = REPLACE(str, "ッ", "'")
// 英語式
CASE RMJ_ENGLISH
str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt n hh mm yy rr ww")
str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
str = Replaces(str, "ッc ッf ッj", "tc ff jj")
str = REPLACE(str, "ッ", "")
// パスポート式
CASE RMJ_PASSPORT
str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt n hh mm yy rr ww")
str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
str = Replaces(str, "ッc ッf ッj", "tc ff jj")
str = REPLACE(str, "ッ", "")
// パスポート向け訓令式
CASE RMJ_PASSPORTKUNREI
str = Replaces(str, "ッa ッi ッu ッe ッo", "qa qi qu qe qo")
str = Replaces(str, "ッk ッs ッt ッn ッh ッm ッy ッr ッw", "kk ss tt qn hh mm yy rr ww")
str = Replaces(str, "ッg ッz ッd ッb ッp", "gg zz dd bb pp")
str = REPLACE(str, "ッ", "q")
SELEND
RESULT = str
FEND
// 長音
FUNCTION chouon(str, type)
DIM aa = "â";	DIM ii = "î";	DIM uu = "û";	DIM ee = "ê";	DIM oo = "ô"
SELECT TRUE
// 日本式・訓令式・訓令式(拡張版)・ヘボン式
CASE type = RMJ_NIPPON OR type = RMJ_KUNREI OR type = RMJ_KUNREIEX OR type = RMJ_HEPBUM
str = REPLACE(str, "aー", aa)
str = REPLACE(str, "iー", ii)
str = REPLACE(str, "uー", uu)
str = REPLACE(str, "eー", ee)
str = REPLACE(str, "oー", oo)
// 英語式・パスポート式
CASE type = RMJ_ENGLISH OR type = RMJ_PASSPORT
str = REPLACE(str, "iー", "ii")
str = REPLACE(str, "ー", "")
// パスポート向け訓令式
CASE type = RMJ_PASSPORTKUNREI
str = REPLACE(str, "aー", aa)
str = REPLACE(str, "iー", ii)
str = REPLACE(str, "uー", uu)
str = REPLACE(str, "eー", ee)
str = REPLACE(str, "oー", oo)
str = REPLACE(str, aa + aa, aa + "'" + aa)
str = REPLACE(str, ii + ii, ii + "'" + ii)
str = REPLACE(str, uu + uu, uu + "'" + uu)
str = REPLACE(str, ee + ee, ee + "'" + ee)
str = REPLACE(str, oo + oo, oo + "'" + oo)
str = REPLACE(str, aa + "a", aa + "'a")
str = REPLACE(str, ii + "i", ii + "'i")
str = REPLACE(str, uu + "u", uu + "'u")
str = REPLACE(str, ee + "e", ee + "'e")
str = REPLACE(str, oo + "o", oo + "'o")
str = REPLACE(str, "a" + aa, "a'" + aa)
str = REPLACE(str, "i" + ii, "i'" + ii)
str = REPLACE(str, "u" + uu, "u'" + uu)
str = REPLACE(str, "e" + ee, "e'" + ee)
str = REPLACE(str, "o" + oo, "o'" + oo)
str = REPLACE(str, aa, "aa")
str = REPLACE(str, ii, "ii")
str = REPLACE(str, uu, "uu")
str = REPLACE(str, ee, "ee")
str = REPLACE(str, oo, "oo")
SELEND
RESULT = str
FEND
FUNCTION Kana(str)
// 長音
str = Replaces(str, "â î û ê ô", "aー iー uー eー oー")
// 撥音(追加)
str = Replaces(str, "nna nni nnu nne nno", "ンナ ンニ ンヌ ンネ ンノ")
// 撥音
str = Replaces(str, "qa qi qu qe qo", "ッa ッi ッu ッe ッo")
str = Replaces(str, "kk ss tt qn hh mm yy rr ww", "ッk ッs ッt ッn ッh ッm ッy ッr ッw")
str = Replaces(str, "gg zz dd bb pp", "ッg ッz ッd ッb ッp")
str = Replaces(str, "tc ff jj", "ッc ッf ッj")
str = Replaces(str, "kk ss tt n hh mm yy rr ww", "ッk ッs ッt ッn ッh ッm ッy ッr ッw")
// 清音
str = Replaces(str, "ka ki ku ke ko", "カ キ ク ケ コ")
str = Replaces(str, "na ni nu ne no", "ナ ニ ヌ ネ ノ")
str = Replaces(str, "ma mi mu me mo", "マ ミ ム メ モ")
str = Replaces(str, "ra ri ru re ro", "ラ リ ル レ ロ")
str = Replaces(str, "ya yu yo", "ヤ ユ ヨ")
// 清音(重複)
str = Replaces(str, "sa si su se so", "サ シ ス セ ソ")
str = Replaces(str, "ta ti tu te to", "タ チ ツ テ ト")
str = Replaces(str, "ha hi hu he ho", "ハ ヒ フ ヘ ホ")
str = Replaces(str, "sa shi su se so", "サ シ ス セ ソ")
str = Replaces(str, "ta chi tsu te to", "タ チ ツ テ ト")
str = Replaces(str, "ha hi fu he ho", "ハ ヒ フ ヘ ホ")
// 濁音・半濁音
str = Replaces(str, "ga gi gu ge go", "ガ ギ グ ゲ ゴ")
str = Replaces(str, "ba bi bu be bo", "バ ビ ブ ベ ボ")
str = Replaces(str, "pa pi pu pe po", "パ ピ プ ペ ポ")
str = Replaces(str, "za zi zu ze zo", "ザ ジ ズ ゼ ゾ")
str = Replaces(str, "da di du de do", "ダ ヂ ヅ デ ド")
str = Replaces(str, "da zi zu de do", "ダ ヂ ヅ デ ド")
str = Replaces(str, "za ji zu ze zo", "ザ ジ ズ ゼ ゾ")
str = Replaces(str, "da ji zu de do", "ダ ヂ ヅ デ ド")
// 拗音
str = Replaces(str, "kya kyu kyo", "キャ キュ キョ")
str = Replaces(str, "nya nyu nyo", "ニャ ニュ ニョ")
str = Replaces(str, "hya hyu hyo", "ヒャ ヒュ ヒョ")
str = Replaces(str, "mya myu myo", "ミャ ミュ ミョ")
str = Replaces(str, "rya ryu ryo", "リャ リュ リョ")
str = Replaces(str, "gya gyu gyo", "ギャ ギュ ギョ")
str = Replaces(str, "bya byu byo", "ビャ ビュ ビョ")
str = Replaces(str, "pya pyu pyo", "ピャ ピュ ピョ")
str = Replaces(str, "sya syu syo", "シャ シュ ショ")
str = Replaces(str, "tya tyu tyo", "チャ チュ チョ")
str = Replaces(str, "zya zyu zyo", "ジャ ジュ ジョ")
str = Replaces(str, "dya dyu dyo", "ヂャ ヂュ ヂョ")
str = Replaces(str, "kwa gwa", "クヮ グヮ")
str = Replaces(str, "s'i t'i t'u", "スィ ティ トゥ")
str = Replaces(str, "z'i d'i d'u", "ズィ ディ ドゥ")
str = Replaces(str, "zya zyu zyo", "ヂャ ヂュ ヂョ")
str = Replaces(str, "ya yu yo", "イャ イュ イョ")
str = Replaces(str, "ye", "イェ")
str = Replaces(str, "kye", "キェ")
str = Replaces(str, "sye", "シェ")
str = Replaces(str, "tye", "チェ")
str = Replaces(str, "nye", "ニェ")
str = Replaces(str, "hye", "ヒェ")
str = Replaces(str, "mye", "ミェ")
str = Replaces(str, "rye", "リェ")
str = Replaces(str, "gye", "ギェ")
str = Replaces(str, "zye", "ジェ")
str = Replaces(str, "zye", "ヂェ")
str = Replaces(str, "bye", "ビェ")
str = Replaces(str, "pye", "ピェ")
str = Replaces(str, "wa wi we wo", "ウァ ウィ ウェ ウォ")
str = Replaces(str, "kwa kwi kwe kwo", "クァ クィ クェ クォ")
str = Replaces(str, "swa swi swe swo", "スァ スィ スェ スォ")
str = Replaces(str, "twa twi twe two", "ツァ ツィ ツェ ツォ")
str = Replaces(str, "nwa nwi nwe nwo", "ヌァ ヌィ ヌェ ヌォ")
str = Replaces(str, "hwa hwi hwe hwo", "ファ フィ フェ フォ")
str = Replaces(str, "mwa mwi mwe mwo", "ムァ ムィ ムェ ムォ")
str = Replaces(str, "rwa rwi rwe rwo", "ルァ ルィ ルェ ルォ")
str = Replaces(str, "gwa gwi gwe gwo", "グァ グィ グェ グォ")
str = Replaces(str, "zwa zwi zwe zwo", "ズァ ズィ ズェ ズォ")
str = Replaces(str, "zwa zwi zwe zwo", "ヅァ ヅィ ヅェ ヅォ")
str = Replaces(str, "bwa bwi bwe bwo", "ブァ ブィ ブェ ブォ")
str = Replaces(str, "pwa pwi pwe pwo", "プァ プィ プェ プォ")
str = Replaces(str, "ba bi be bo", "ヴァ ヴィ ヴェ ヴォ")
str = Replaces(str, "tja tji tju tjo", "テャ ティ テュ テョ")
str = Replaces(str, "dja dji dju djo", "デャ ディ デュ デョ")
str = Replaces(str, "tva tvi tvu tve", "トァ トィ トゥ トェ")
str = Replaces(str, "dva dvi dvu dve", "ドァ ドィ ドゥ ドェ")
str = Replaces(str, "hwya hwyu hwyo", "フャ フュ フョ")
str = Replaces(str, "bwya bwyu bwyo", "ブャ ブュ ブョ")
str = Replaces(str, "bwya bwyu bwyo", "ヴャ ヴュ ヴョ")
str = Replaces(str, "sha shu sho", "シャ シュ ショ")
str = Replaces(str, "cha chu cho", "チャ チュ チョ")
str = Replaces(str, "ja ju jo", "ジャ ジュ ジョ")
str = Replaces(str, "ja ju jo", "ヂャ ヂュ ヂョ")
str = Replaces(str, "ie ui ue uo", "イェ ウィ ウェ ウォ")
str = Replaces(str, "bua bui bue buo", "ヴァ ヴィ ヴェ ヴォ")
str = Replaces(str, "kua kui kue kuo", "クァ クィ クェ クォ")
str = Replaces(str, "gua gui gue guo", "グァ グィ グェ グォ")
str = Replaces(str, "jie chie", "ジェ チェ")
str = Replaces(str, "tsua tsui tsue tsuo", "ツァ ツィ ツェ ツォ")
str = Replaces(str, "tei dei deyu dou", "ティ ディ デュ ドゥ")
str = Replaces(str, "fua fui fue fuo", "ファ フィ フェ フォ")
str = Replaces(str, "fuyo", "フョ")
str = REPLACE(str, "ァ", "ヮ")
str = Replaces(str, "n-a n-i n-u n-e n-o n-y", "ンa ンi ンu ンe ンo ンy")
str = Replaces(str, "mb mm mp", "nb nm np")
str = Replaces(str, "n'a n'i n'u n'e n'o n'y n'w", "ンa ンi ンu ンe ンo ンy ンw")
// 母音
str = Replaces(str, "a i u e o", "ア イ ウ エ オ")
str = Replaces(str, "wa i e o", "ワ ヰ ヱ ヲ")
RESULT = str
FEND
ENDMODULE
FUNCTION Replaces(a, b, c)
DIM arr1 = SPLIT(b)
DIM arr2 = SPLIT(c)
FOR i = 0 TO RESIZE(arr1)
a = REPLACE(a, arr1[i], arr2[i])
NEXT
RESULT = a
FEND
//////////////////////////////////////////////////
// 【引数】
//   str : 反転させる文字列 
// 【戻値】
//   
//////////////////////////////////////////////////
FUNCTION strReverse(str)
DIM res = ""
FOR i = 1 TO LENGTH(str)
res = COPY(str, i, 1) + res
NEXT
RESULT = res
FEND
//////////////////////////////////////////////////
// 【引数】
//   num : 符号を調べる数値 
// 【戻値】
//    : 正の数 
//   1、 : 0 
//   0、 : 負の数 
//   -1、 : 
//////////////////////////////////////////////////
FUNCTION sign(num)
SELECT TRUE
CASE num > 0
RESULT = 1
CASE num = 0
RESULT = 0
CASE num < 0
RESULT = -1
SELEND
FEND
    (2) (3)
結果
CSV(区切り文字「,」)
ローマ字,     omedetou
反転,         uotedemo
反転"かな",   ウォテデモ