「Test.m」のような文字列がある場合、elispを介してそのサブ文字列「Test」だけを取得するにはどうすればよいですか?私は自分の.emacsファイルでこれを使おうとしています。
11862 次
4 に答える
34
1つの方法は、substring(またはsubstring-no-properties)を使用することです:
(substring "Test.m" 0 -2) => "Test"
(
substringSTRING FROM&optionalTO )STRINGの部分文字列を内容とする新しい文字列を返します。返される文字列は、STRINGのインデックスFROM (含む) とインデックスTO (含まない) の間の文字で構成されます。 FROMとTOはゼロインデックスです: 0 はSTRINGの最初の文字を意味します。 負の値はSTRINGの末尾からカウントされます。TOがの 場合、部分文字列はSTRINGの末尾まで実行されます。
nil
于 2012-09-05T04:49:11.003 に答える
8
あなたの特定のケースでは、を使用したいかもしれませんfile-name-sans-extension。
于 2012-09-05T15:13:52.917 に答える
4
おそらく最も柔軟なオプション (柔軟性が必要かどうかは明確ではありませんが) は、次を使用することreplace-regexp-in-stringです。
見るC-hf replace-regexp-in-string RET
例えば:
(replace-regexp-in-string "\\..*" "" "Test.m")
于 2012-09-05T04:57:31.953 に答える