|
◆ wash_char()
elemental character(len=len(in)) function, public char_utilities::wash_char |
( |
character(len=*), intent(in) |
in, |
|
|
character(len=*), intent(in), optional |
goodchar, |
|
|
character(len=*), intent(in), optional |
badchar |
|
) |
| |
Remove the requested characters from a string.
This function returns a string cleaned from unwanted characters, either by removing "bad" characters (argument badchar) or by keeping only "good" characters (argument goodchar). If neither badchar nor goodchar are provided, it keeps only alphabetic ASCII characters.
- Parametri
-
[in] | in | string to be cleaned |
[in] | badchar | optional set of "bad" characters |
[in] | goodchar | optional set of "good" characters |
Definizione alla linea 1182 del file char_utilities.F90.
1182 match = string_match( string(start:), pattern(p:) ) 1188 if ( method == 1 ) then 1195 do while ( start <= strim ) 1196 k = index( string(start:), literal(1:ll) ) 1198 start = start + k + ll - 1 1199 match = string_match( string(start:), pattern(p:) ) 1210 if ( method == 2 .and. ll > 0 ) then 1214 if ( string(start:min(strim,start+ll-1)) == literal(1:ll) ) then 1215 match = string_match( string(start+ll:), pattern(p:) ) 1219 end function string_match 1222 SUBROUTINE print_status_line(line) 1223 CHARACTER(len=*), INTENT(in) :: line 1224 CHARACTER(len=1), PARAMETER :: cr=char(13) 1225 WRITE(stdout_unit, '(2A)',advance= 'no')cr,trim(line) 1227 END SUBROUTINE print_status_line 1229 SUBROUTINE done_status_line() 1230 WRITE(stdout_unit, '()') 1231 END SUBROUTINE done_status_line 1242 SUBROUTINE progress_line_update_d(this, val) 1243 CLASS(progress_line), INTENT(inout) :: this 1244 DOUBLE PRECISION, INTENT(in) :: val 1247 CHARACTER(len=512) :: line 1249 IF (this%curr >= this%max) RETURN 1251 this%curr = max(this%min, min(this%max, val)) 1252 this%spin = mod(this%spin+1, 4) 1255 vint = nint((this%curr-this%min)/(this%max-this%min)*100.d0) 1256 WRITE(line,this%form)vint, & 1257 progress_line_spin(this%spin+1:this%spin+1) 1261 line(this%barloc+i:this%barloc+i) = this%done 1264 line(this%barloc+i:this%barloc+i) = this%todo 1266 CALL print_status_line(line)
|