@@ -12,7 +12,7 @@ module stdlib_strings
12
12
13
13
public :: strip, chomp
14
14
public :: starts_with, ends_with
15
- public :: slice, find, replace_all
15
+ public :: slice, find, replace_all, padl, padr
16
16
17
17
18
18
! > Remove leading and trailing whitespace characters.
@@ -669,18 +669,19 @@ pure function replace_all_char_char_char(string, pattern, replacement) result(re
669
669
670
670
end function replace_all_char_char_char
671
671
672
- ! > Left pad the input string with the 'pad_with' string
672
+ ! > Left pad the input string with " " (1 whitespace)
673
673
! >
674
674
! > Returns a new string
675
675
pure function padl_string_default (string , output_length ) result(res)
676
676
type (string_type), intent (in ) :: string
677
677
integer , intent (in ) :: output_length
678
678
type (string_type) :: res
679
679
680
- res = string_type(padl_char_char(char (string), output_length, " " ))
680
+ res = string_type(padl(char (string), output_length, " " ))
681
+
681
682
end function padl_string_default
682
683
683
- ! > Left pad the input string with the 'pad_with' string
684
+ ! > Left pad the input string with the 'pad_with' character
684
685
! >
685
686
! > Returns a new string
686
687
pure function padl_string_pad_with (string , output_length , pad_with ) result(res)
@@ -689,65 +690,58 @@ pure function padl_string_pad_with(string, output_length, pad_with) result(res)
689
690
character (len= 1 ), intent (in ) :: pad_with
690
691
type (string_type) :: res
691
692
692
- res = string_type(padl_char_char(char (string), output_length, pad_with))
693
+ res = string_type(padl(char (string), output_length, pad_with))
694
+
693
695
end function padl_string_pad_with
694
696
695
- ! > Left pad the input string with the 'pad_with' string
697
+ ! > Left pad the input string with " " (1 whitespace)
696
698
! >
697
699
! > Returns a new string
698
700
pure function padl_char_default (string , output_length ) result(res)
699
701
character (len=* ), intent (in ) :: string
700
702
integer , intent (in ) :: output_length
701
703
character (len= max (len (string), output_length)) :: res
702
704
703
- res = padl_char_char(string, output_length, " " )
705
+ res = padl(string, output_length, " " )
706
+
704
707
end function padl_char_default
705
708
706
- ! > Left pad the input string with the 'pad_with' string
709
+ ! > Left pad the input string with the 'pad_with' character
707
710
! >
708
711
! > Returns a new string
709
712
pure function padl_char_pad_with (string , output_length , pad_with ) result(res)
710
713
character (len=* ), intent (in ) :: string
711
714
integer , intent (in ) :: output_length
712
715
character (len= 1 ), intent (in ) :: pad_with
713
716
character (len= max (len (string), output_length)) :: res
714
-
715
- res = padl_char_char(string, output_length, pad_with)
716
- end function padl_char_pad_with
717
-
718
- ! > Left pad the input string with the 'pad_with' string
719
- ! >
720
- ! > Returns a new string
721
- pure function padl_char_char (string , output_length , pad_with ) result(res)
722
- character (len=* ), intent (in ) :: string
723
- integer , intent (in ) :: output_length
724
- character (len= 1 ), intent (in ) :: pad_with
725
- character (len= max (len (string), output_length)) :: res
726
717
integer :: string_length
727
-
718
+
728
719
string_length = len (string)
729
-
720
+
730
721
if (string_length < output_length) then
731
722
res = repeat (pad_with, output_length - string_length)
732
723
res(output_length - string_length + 1 : output_length) = string
733
724
else
734
725
res = string
735
726
end if
736
-
737
- end function padl_char_char
738
727
739
- ! > Right pad the input string with the 'pad_with' string
728
+ end function padl_char_pad_with
729
+
730
+ ! > Right pad the input string with " " (1 whitespace)
740
731
! >
741
732
! > Returns a new string
742
733
pure function padr_string_default (string , output_length ) result(res)
743
734
type (string_type), intent (in ) :: string
744
735
integer , intent (in ) :: output_length
736
+ character (len= max (len (string), output_length)) :: char_output
745
737
type (string_type) :: res
746
738
747
- res = string_type(padr_char_char(char (string), output_length, " " ))
739
+ char_output = char (string)
740
+ res = string_type(char_output)
741
+
748
742
end function padr_string_default
749
743
750
- ! > Right pad the input string with the 'pad_with' string
744
+ ! > Right pad the input string with the 'pad_with' character
751
745
! >
752
746
! > Returns a new string
753
747
pure function padr_string_pad_with (string , output_length , pad_with ) result(res)
@@ -756,10 +750,11 @@ pure function padr_string_pad_with(string, output_length, pad_with) result(res)
756
750
character (len= 1 ), intent (in ) :: pad_with
757
751
type (string_type) :: res
758
752
759
- res = string_type(padr_char_char(char (string), output_length, pad_with))
753
+ res = string_type(padr(char (string), output_length, pad_with))
754
+
760
755
end function padr_string_pad_with
761
756
762
- ! > Right pad the input string with the 'pad_with' string
757
+ ! > Right pad the input string with " " (1 whitespace)
763
758
! >
764
759
! > Returns a new string
765
760
pure function padr_char_default (string , output_length ) result(res)
@@ -768,39 +763,28 @@ pure function padr_char_default(string, output_length) result(res)
768
763
character (len= max (len (string), output_length)) :: res
769
764
770
765
res = string
771
- end function padr_char_default
772
766
773
- ! > Right pad the input string with the 'pad_with' string
774
- ! >
775
- ! > Returns a new string
776
- pure function padr_char_pad_with (string , output_length , pad_with ) result(res)
777
- character (len=* ), intent (in ) :: string
778
- integer , intent (in ) :: output_length
779
- character (len= 1 ), intent (in ) :: pad_with
780
- character (len= max (len (string), output_length)) :: res
781
-
782
- res = padr_char_char(string, output_length, pad_with)
783
- end function padr_char_pad_with
767
+ end function padr_char_default
784
768
785
769
! > Right pad the input string with the 'pad_with' character
786
770
! >
787
771
! > Returns a new string
788
- pure function padr_char_char (string , output_length , pad_with ) result(res)
772
+ pure function padr_char_pad_with (string , output_length , pad_with ) result(res)
789
773
character (len=* ), intent (in ) :: string
790
774
integer , intent (in ) :: output_length
791
775
character (len= 1 ), intent (in ) :: pad_with
792
776
character (len= max (len (string), output_length)) :: res
793
777
integer :: string_length
794
778
795
779
string_length = len (string)
796
-
780
+
797
781
res = string
798
782
if (string_length < output_length) then
799
783
res(string_length + 1 : output_length) = repeat (pad_with, &
800
784
& output_length - string_length)
801
785
end if
802
-
803
- end function padr_char_char
786
+
787
+ end function padr_char_pad_with
804
788
805
789
806
790
end module stdlib_strings
0 commit comments