鍍金池/ 教程/ Java/ Fortran字符串
Fortran還原功能
Fortran關系運算符
Fortran運算符優(yōu)先級
Fortran基本語法
Fortran文件輸入輸出
Fortran嵌套select case結構
Fortran變量
Fortran Cycle語句
Fortran語言環(huán)境設置
Fortran數(shù)據(jù)類型
Fortran數(shù)組
Fortran字符
Fortran if...else if...else 語句
Fortran調試程序
Fortran編程風格
Fortran if...then語句結構
Fortran嵌套循環(huán)
Fortran常量
Fortran循環(huán)
Fortran導出數(shù)據(jù)類型
Fortran字符串
Fortran操作函數(shù)
Fortran do...while循環(huán)結構
Fortran內部函數(shù)
Fortran數(shù)字精度
Fortran選擇決策
Fortran重塑函數(shù)
Fortran運算符
Fortran構造函數(shù)
Fortran模塊
Fortran位置函數(shù)
Fortran數(shù)字
Fortran指針
Fortran算術運算符
Fortran exit語句
Fortran動態(tài)數(shù)組
Fortran嵌套if結構
Fortran select case結構
Fortran向量和矩陣乘法函數(shù)
Fortran邏輯運算符
Fortran if...then...else 結構
Fortran教程
Fortran過程
Fortran Stop語句
Fortran基本輸入輸出
Fortran do循環(huán)結構
Fortran查詢函數(shù)

Fortran字符串

Fortran語言可以把字符作為單個字符或連續(xù)的字符串。

字符串可以是只有一個長度的字符,或者它甚至可以是零長度。在Fortran語言,字符常量是一對雙引號或單引號之間字符內容。

內部數(shù)據(jù)類型的字符存儲字符和字符串。字符串的長度可以通過len個符來指定。如果沒有指定長度,它是長度是1. 可以將字符串按位置指的是指在單個字符;最左邊的字符的位置是1。

字符串聲明

聲明一個字符串跟其他變量是一樣的:

type-specifier :: variable_name

例如,

Character(len=20) :: firstname, surname

可以指定一個值類似,

character (len=40) :: name  
name = Zara Ali

下面的例子演示了聲明和使用字符數(shù)據(jù)類型:

program hello
implicit none

   character(len=15) :: surname, firstname 
   character(len=6) :: title 
   character(len=25)::greetings
   
   title = 'Mr.' 
   firstname = 'Rowan' 
   surname = 'Atkinson'
   greetings = 'A big hello from Mr. Beans'
   
   print *, 'Here is', title, firstname, surname
   print *, greetings
   
end program hello

當編譯并執(zhí)行上述程序,將產生以下結果:

Here is Mr. Rowan Atkinson       
A big hello from Mr. Bean

字符串連接

連接運算符//,連接字符串。

下面的例子說明了這一點:

program hello
implicit none

   character(len=15) :: surname, firstname 
   character(len=6) :: title 
   character(len=40):: name
   character(len=25)::greetings
   
   title = 'Mr.' 
   firstname = 'Rowan' 
   surname = 'Atkinson'
   
   name = title//firstname//surname
   greetings = 'A big hello from Mr. Beans'
   
   print *, 'Here is', name
   print *, greetings
   
end program hello

當編譯并執(zhí)行上述程序,將產生以下結果:

Here is Mr. Rowan Atkinson       
A big hello from Mr. Bean

提取子串

在Fortran中,可以通過索引的字符串,開始和子串一對括號的結束索引,從字符串中提取一個子字符串。這就是所謂的范圍說明。

下面的示例顯示了如何提取字符串'Hello World'的子字符串“world”:

program subString

   character(len=11)::hello
   hello = "Hello World"
   print*, hello(7:11)
   
end program subString 

當編譯并執(zhí)行上述程序,將產生以下結果:

World

例子

下面的示例使用 date_and_time 函數(shù),得到日期和時間的字符串。我們使用范圍說明符單獨提取年份,日期,月份,小時,分鐘和秒的信息。

program  datetime
implicit none

   character(len = 8) :: dateinfo ! ccyymmdd
   character(len = 4) :: year, month*2, day*2

   character(len = 10) :: timeinfo ! hhmmss.sss
   character(len = 2)  :: hour, minute, second*6

   call  date_and_time(dateinfo, timeinfo)

   !  lets break dateinfo into year, month and day.
   !  dateinfo has a form of ccyymmdd, where cc = century, yy = year
   !  mm = month and dd = day

   year  = dateinfo(1:4)
   month = dateinfo(5:6)
   day   = dateinfo(7:8)

   print*, 'Date String:', dateinfo
   print*,