2
私は整数をとり、それを文字列に変換する関数str
を持っています。また、その値の文字列の部分文字列を考慮したいと思います。文字列関数ではなく文字値であれば簡単です。文字列関数の結果の部分文字列を参照できますか?
言い換えれば、私はこのような何かを書きたいのですが:
str(12345)(2:3)
代わりにこれを行うために有するので:
character(10) :: c
c = str(12345)
print *, c(2:3)
または自分substr()
機能を転がします。一時的な文字変数に文字値を格納したり、別の関数を記述したりせずに、自分がしたいことをする方法はありますか?
program main
character(10) :: c
! works fine
c = str(12345)
print *, c(2:3)
! nope
print *, str(12345)(2:3)
! this would work if i wrote a substr function
print *, substr(str(12345), 2, 3)
contains
character(len=1064) function str(k)
! convert an integer to string
integer, intent(in) :: k
write (str, *) k
str = adjustl(str)
end function str
end program main
@francescalusは保存されませんこの時点で私はあなたとVladimirの専門知識を受け入れることができてうれしいですが、私はまだ役に立つアイデアに興味があります – JohnE
str()にオプションの引数を追加するとどうでしょうか?str(12345、idx = [2、 3]))? – roygvib
ええ、それは配列に非常に似ています。私は実際に重複を検索しようとしましたが、最初のヒットのうちの1つを見ませんでした。 –