如何從字符串中刪除字符?Fortran:從字符串中刪除字符
例如,我有一個名爲'year'的字符串,我想從4個字符更改爲2個字符。它的定義,像這樣:
character(4) :: year = "2011"
如何截斷字串2個字符,所以,與其year = "2011"
,它是year = "11"
?
如何從字符串中刪除字符?Fortran:從字符串中刪除字符
例如,我有一個名爲'year'的字符串,我想從4個字符更改爲2個字符。它的定義,像這樣:
character(4) :: year = "2011"
如何截斷字串2個字符,所以,與其year = "2011"
,它是year = "11"
?
事實上,你可以使用year(3:4)
;然而,你的字符串仍然是四個字符長,即它將包含你的兩個數字和兩個空格。爲了說明這一點,這裏有一個例子:
program trunc
character(len=4) :: year = "2011"
write(*,'(A,A,A)') '..', year, '..'
year = year(3:4)
write(*,'(A,A,A)') '..', year, '..'
end program trunc
這將打印
..2011..
..11 ..
真正得到的"11"
代替"11 "
您必須將值分配到只能容納兩個字符的變量。
我認爲這是year(3:4)
但不要引用我就可以了;)
使用以下命令:
trim(year(3:4))
擺脫了拖尾和先行空白的,你可以用裝飾(adjustl(串)) – 2011-01-11 16:27:12
@Zhenya這部分是真實的。如果您使用'trim',則不會刪除空白,您只需顯示/處理非空白字符。如果你知道你的字符串的'有趣'部分有多長時間,你也可以簡單地訪問相關的子字符串。但是當OP詢問關於將變量設置爲「11」時,我完全認爲他不想讓這些空白留下來。 – canavanin 2011-01-11 16:48:53