프로그래밍 언어(문자열 함수) 비교
Comparison of programming languages (string functions)비교요인 프로그래밍 언어의 |
---|
|
문자열 함수는 문자열을 조작하거나 문자열에 대한 정보를 쿼리하기 위해 컴퓨터 프로그래밍 언어에서 사용된다.
문자열 데이터 형식이 있는 대부분의 프로그래밍 언어에는 문자열을 직접 처리할 수 있는 다른 낮은 수준의 방법이 있을 수 있지만 문자열 기능이 있을 것이다. 객체 지향 언어에서 문자열 함수는 문자열 객체의 속성 및 방법으로 구현되는 경우가 많다. 기능 및 목록 기반 언어에서 문자열은 (문자 코드의) 목록으로 표시되므로, 모든 목록 조작 절차는 문자열 함수로 간주될 수 있다. 그러나 그러한 언어는 명시적 문자열 특정 함수의 하위 집합도 구현할 수 있다.
문자열을 조작하는 기능의 경우, C#, 자바와 같은 현대의 객체 지향 언어는 불변 문자열을 가지고 있어 사본(새로 할당된 동적 메모리에서)을 반환하는 반면, C와 같은 언어는 프로그래머가 데이터를 새로운 문자열에 복사하지 않는 한 원래의 문자열을 조작한다. 아래 연결 예제를 참조하십시오.
문자열 함수의 가장 기본적인 예는 length(string)
기능을 하다 이 함수는 문자열 리터럴의 길이를 반환한다.
- 예)
length("hello world")
11시에 돌아올거야
다른 언어는 유사한 구문이나 매개변수 또는 결과가 정확하게 동일한 문자열 함수를 가질 수 있다. 예를 들어, 많은 언어에서 길이 함수는 보통 len(string)으로 표현된다. 아래의 공통 기능 목록은 이러한 혼동을 제한하는데 도움이 되는 것을 목적으로 한다.
공통 문자열 함수(다중 언어 참조)
여러 언어에 공통적인 문자열 함수는 사용 중인 다른 이름을 포함하여 아래에 나열되어 있다. 아래의 공통 기능 목록은 프로그래머들이 언어에서 동등한 기능을 찾을 수 있도록 돕는 것을 목적으로 한다. 참고, 문자열 연결 및 정규식은 별도의 페이지에서 처리한다. Guillemets (문서 … »)의 문구는 선택 사항이다.
차랏
정의 | charAt(string,integer) 인격을 돌려주다 |
---|---|
설명 | 문자열의 인덱스에서 문자를 반환한다. |
등가 | 1자 길이의 하위 문자열을 참조하십시오. |
포맷 | 언어들 | 기준지수 |
---|---|---|
string[i] | ALGOL 68, APL, 줄리아, 파스칼, 오브젝트 파스칼(델피), 시드7 | 1 |
string[i] | C, C++, C#, 코브라, D, FreeBASIC, Go, Python,[1] PHP, Ruby,[1] Windows PowerShell, JavaScript, APL | 0 |
string{i} | PHP(5.3에서 사용 안 함) | 0 |
string(i) | 에이다 | ≥1 |
Mid(string,i,1) | VB | 1 |
MID$(string,i,1) | 기본 | 1 |
string.Chars(i) | VB.NET | 0 |
string(i:i) | 포트란 | 1 |
string.charAt(i) | 자바, 자바스크립트 | 0 |
string.[i] | OCaml, F# | 0 |
string.chars().nth(i) | 녹[2] | 0 |
string[i,1] | 기본 선택 | 1 |
String.sub (string, i) | 표준 ML | 0 |
string !! i | 하스켈 | 0 |
(string-ref string i) | 계략 | 0 |
(char string i) | 커먼 리스프 | 0 |
(elt string i) | ISLISP | 0 |
(get string i) | 클로저 | 0 |
substr(string, i, 1) | 펄 5[1] | 0 |
substr(string, i, 1) string.substr(i, 1) | 라쿠[3] | 0 |
substr(string, i, 1) | PL/I | 1 |
string.at(i) | C++(STL)(경계 검사 포함) | 0 |
lists:nth(i, string) | 얼랑 | 1 |
[string characterAtIndex:i] | 목표-C (NSString * 오직 | 0 |
string.sub(string, i, i) | 루아[1] | 1 |
string at: i | 스몰토크(한계 검사 미포함) | 1 |
string index string i | Tcl | 0 |
StringTake[string, {i}] | 매스매티카, 울프람어[1] | 1 |
string@i | 에펠 | 1 |
string (i:1) | 코볼 | 1 |
i⌷string | APL | 0 또는 1 |
{ Pascal }의 예 시합을 하다 마이스트: 끈을 매다 = '안녕, 월드'; 마이차: 차르; 시작되다 마이차 := 마이스트[2]; // 'e'
# ALGOL 68의 예시 # "안녕, 세계"[2]; // 'e'
// C의 예 #include <stdio.h> // 인쇄용 마를 뜨다 마이스트[] = "안녕, 월드"; 활자화하다("%c", *(마이스트+1)); // 'e' 활자화하다("%c", *(마이스트+7)); // 'W' 활자화하다("%c", 마이스트[11]); // 'd' 활자화하다("%s", 마이스트); // '안녕, 세상' 활자화하다("%s", "안녕(2), 월드(2)"); // '안녕(2), 월드(2)'
// C++의 예 #include <아이오스트림> // "cout"의 경우 #include < 현악기>h> // "문자열" 데이터 유형 사용. 네임스페이스 찌꺼기; 마를 뜨다 마이스트1[] = "안녕(1) 월드(1)"; 끈을 매다 마이스트2 = "안녕(2), 월드(2)"; 뻐드렁니가 나다 << "안녕(3), 월드(3)"; // '안녕(3), 월드(3)' 뻐드렁니가 나다 << 마이스트2[6]; // '2' 뻐드렁니가 나다 << 마이스트1.기판을 달다 (5, 3); // '(1)'
// C#의 예 "안녕, 월드"[2]; // 'l'
# 펄 5의 예 기판을 달다("안녕, 월드", 1, 1); # 'e'
# 파이썬의 예 "안녕, 월드"[2] # 'l' "안녕, 월드"[-3] # 'r'
# 라쿠의 예시 "안녕, 세계".지하철(1,1); # 'e'
' Visual Basic의 예 중앙의("안녕, 월드",2,1)
'Visual Basic의 예.네트 "안녕, 월드".차르스(2) 'l'c
"Smalltalk의 예" '안녕, 월드' 다음 날짜: 2. "$e"
//녹의 예 "안녕, 월드".마차().n번째(2); // 일부('l')
비교(정수 결과)
정의 | compare(string1,string2) 정수를 반환하다 |
---|---|
설명 | 두 줄을 서로 비교한다. 만약 그것들이 같다면, 0이 반환된다. 그렇지 않으면 대부분의 이러한 루틴은 문자열이12 문자열보다 각각 큰지 또는 작은지에 해당하는 양의 또는 음의 결과를 반환한다. 첫 번째 불일치의 인덱스를 반환하는 Scheme 및 Rexx 루틴과 수신기가 문자열 파라미터에 따라 정렬하는 방법을 알려주는 비교 코드에 응답하는 Smalltalk는 예외다. |
포맷 | 언어들 |
---|---|
IF string1<string2 THEN -1 ELSE ABS (string1>string2) FI | 알골 68 |
cmp(string1, string2) | 파이톤 2 |
(string1 > string2) - (string1 < string2) | 파이톤 |
strcmp(string1, string2) | C, PHP |
std.string.cmp(string1, string2) | D |
StrComp(string1, string2) | VB, Object Pascal(Delphi) |
string1 cmp string2 | 펄, 라쿠 |
string1 compare: string2 | 스몰토크 (스퀘이크, 파로) |
string1 <=> string2 | 루비, C++(STL, C++20)[4] |
string1.compare(string2) | C++(STL), Swift(파운데이션) |
compare(string1, string2) | 렉스, 씨드7 |
CompareStr(string1, string2) | 파스칼, 오브젝트 파스칼 (델피) |
string1.compareTo(string2) | 코브라, 자바 |
string1.CompareTo(string2) | VB .NET, C#, F# |
(compare string1 string2) | 클로저 |
(string= string1 string2) | 커먼 리스프 |
(string-compare string1 string2 p< p= p>) | 스키마(SRFI 13) |
(string= string1 string2) | ISLISP |
compare string1 string2 | OCAML |
String.compare (string1, string2) | 표준 ML[5] |
compare string1 string2 | 하스켈[6] |
[string]::Compare(string1, string2) | Windows PowerShell |
[string1 compare:string2] | 목표-C (NSString * 오직 |
LLT(string1,string2) | 포트란[7] |
string1.localeCompare(string2) | 자바스크립트 |
bytes.Compare([]byte(string1), []byte(string2)) | 가다 |
string compare ?-nocase? ?-length int? string1 string2 | Tcl |
compare(string1,string2,count) | PL/I[8] |
string1.cmp(string2) | 녹[9] |
# 펄 5의 예 "안녕" cmp "세계"; # 반품 -1
# 파이썬의 예 cmp("안녕", "세계") # 반품 -1
# 라쿠 "헬로" cmp "월드"의 예, # 복귀 "월드" cmp "헬로"; # 복귀 "헬로" 더 많은 "헬로" cmp "헬로"; # 복귀 "동일하게"
/*** Rexx */의 예 비교하다("안녕", "세계") /* 불일치 지수 반환: 1 */
; 구성표 예 (중고품인 (srfi srfi-13)) ; 불일치 인덱스 반환: 0 (현악기의 "안녕" "세계" 가치 가치 가치)
비교(관계 연산자 기반, 부울 결과)
정의 | string1 OP string2 OR (compare string1 string2) 부울 반환. |
---|---|
설명 | 관계 연산자 또는 함수를 사용하여 사전 통계학적으로 두 문자열을 비교한다. 부울 결과가 반환됨 |
포맷 | 언어들 |
---|---|
string1 OP string2 , where OP 에 속할 수 있다 =, <>, <, >, <= 그리고 >= | Pascal, Object Pascal (Delphi), OCaml, Seed7, Standard ML, BASIC, VB, VB.NET, F# |
string1 OP string2 , where OP 에 속할 수 있다 =, /=, ≠, <, >, <=, ≤ 그리고 ≥ ; 또한: EQ, NE, LT, LE, GE 그리고 GT | 알골 68 |
(stringOP? string1 string2) , where OP 에 속할 수 있다 =, -ci=, <, -ci<, >, -ci>, <=, -ci<=, >= 그리고 -ci>= ('부터 시작)-ci '은(는) 대/소문자를 구분함) | 계략 |
(stringOP string1 string2) , where OP 에 속할 수 있다 =, -ci=, <>, -ci<>, <, -ci<, >, -ci>, <=, -ci<=, >= 그리고 -ci>= ('부터 시작)-ci '은(는) 대/소문자를 구분함) | 스키마(SRFI 13) |
(stringOP string1 string2) , where OP 에 속할 수 있다 =, -equal, /=, -not-equal, <, -lessp, >, -greaterp, <=, -not-greaterp, >= 그리고 -not-lessp (언어 운영자는 대소문자를 구분함) | 커먼 리스프 |
(stringOP string1 string2) , where OP 에 속할 수 있다 =, /=, <, >, <=, 그리고 >= | ISLISP |
string1 OP string2 , where OP 에 속할 수 있다 =, \=, <, >, <= 그리고 >= | 렉시 |
string1 OP string2 , where OP 에 속할 수 있다 =, ¬=, <, >, <=, >=, ¬< 그리고 ¬> | PL/I |
string1 OP string2 , where OP 에 속할 수 있다 =, /=, <, >, <= 그리고 >= | 에이다 |
string1 OP string2 , where OP 에 속할 수 있다 ==, /=, <, >, =< 그리고 >= | 얼랑 |
string1 OP string2 , where OP 에 속할 수 있다 ==, /=, <, >, <= 그리고 >= | 하스켈 |
string1 OP string2 , where OP 에 속할 수 있다 eq, ne, lt, gt, le 그리고 ge | 펄, 라쿠 |
string1 OP string2 , where OP 에 속할 수 있다 ==, !=, <, >, <= 그리고 >= | C++(STL), C#, D, Go, JavaScript, Python, PHP, Ruby, Rust,[10] Swift |
string1 OP string2 , where OP 에 속할 수 있다 -eq, -ceq, -ne, -cne, -lt, -clt, -gt, -cgt, -le, -cle, -ge, 그리고 -cge ('부터 시작)c '은(는) 대소문자를 구분함) | Windows PowerShell |
string1 OP string2 , where OP 에 속할 수 있다 ==, ~=, <, >, <= 그리고 >= | 루아 |
string1 OP string2 , where OP 에 속할 수 있다 =, ~=, <, >, <= 그리고 >= | 스몰토크 |
string1 OP string2 , where OP 에 속할 수 있다 ==, /=, <, >, <= 그리고 >=; Also: .EQ., .NE., .LT., .LE., .GT. 그리고 .GE. | 포트란.[11] |
string1 OP string2 , where OP 에 속할 수 있다 =, <>, <, >, <=, >= 단어와 동등한 것. | 코볼 |
string1 OP string2 , where OP 에 속할 수 있다 ==, <>, <, >, <= 그리고 >= | 코브라 |
string1 OP string2 구문에서는 사용할 수 있지만 문자열 내용이 아닌 문자열을 가리키는 포인터의 비교를 의미한다. 비교(정수 결과) 함수를 사용하십시오. | C, 자바 |
string1.METHOD(string2) , where METHOD 의 어느 하나 eq , ne , gt , lt , ge , le | 녹[10] |
Erlang의 % 예제 "안녕" > "세계". %는 거짓을 반환함
# 라쿠 "아트" gt "페인팅"의 예, # 반환 거짓 "아트" lt "페인팅"; # 반환 True
# Windows PowerShell의 예 "안녕" -gt "세계" # 거짓을 돌려주다.
;;; 공통 리스피의 예 (끈 > "예술" "painting") ; 영을 반환하다. (끈을 매다 "예술" "painting") ; non nil을 반환한다.
연결
정의 | concatenate(string1,string2) 문자열을 반환하다 |
---|---|
설명 | 두 개의 문자열을 서로 연결(조인)하여 결합된 문자열을 반환한다. C와 같은 일부 언어에는 변이 가능한 문자열이 있으므로 실제로 두 번째 문자열이 첫 번째 문자열에 추가되고 변이된 문자열이 반환된다는 점에 유의하십시오. |
포맷 | 언어들 |
---|---|
string1 & string2 | 에이다, FreeBASIC, Seed7, BASIC, VB, VB.NET, COBOL(리터간에만 해당) |
strcat(string1, string2) | C, C++ (char * 오직[12] |
string1 . string2 | 펄, PHP |
string1 + string2 | ALGOL 68, C++(STL), C#, 코브라, FreeBASIC, Go, Pascal, Object Pascal (Delphi), Java, JavaScript, Windows PowerShell, Python, Ruby, Rust,[13] F#, Swift, Turing, VB |
string1 ~ string2 | D, 라쿠 |
(string-append string1 string2) | Scheme, ISLISP |
(concatenate 'string string1 string2) | 커먼 리스프 |
(str string1 string2) | 클로저 |
string1 string2 | Rexx, SQL, PL/I |
string1 // string2 | 포트란 |
string1 ++ string2 | 얼랑, 하스켈 |
string1 ^ string2 | OCaml, Standard ML, F# |
[string1 stringByAppendingString:string2] | 목표-C (NSString * 오직 |
string1 .. string2 | 루아 |
string1 , string2 | 스몰토크, APL |
string1 string2 | 속물 |
string1string2 | 바쉬 셸 |
string1 <> string2 | 매스매티카 |
연결2 문자열1 | Tcl |
{ Pascal }의 예 'abc' + 'def'; // "dvddef" 반환
// C#의 예 "abc" + "def"; // "dvddef" 반환
' Visual Basic의 예 "abc" & "def" ' returns "dvdef" "abc" + "def" ' returns "dvdef" "abc" & Null '이(가) "반품"을 반환함 "abc" + Null ' 반환 Null
// D의 예 "abc" ~ "def"; // "dvddef" 반환
;; 공통 리스의 예 (결합시키다 '끈' "abc" "def " "기") ; "discret def ghi"를 반환한다.
# 펄 5의 예 "abc" . "def"; # "dvdef" 반환 "펄." . 5; # "Perl 5" 반환
# 라쿠 "abc" ~ "def"의 예, #은 "abcdef"를 반환한다 "Perl " ~ 6; #는 "raku"를 반환한다.
포함하다
정의 | contains(string,substring) 부울 반환 |
---|---|
설명 | 문자열에 하위 문자열을 하위 문자열로 포함할지 여부를 반환한다. 이것은 Find를 사용한 다음 Find 섹션의 세 번째 열에 나열된 고장 조건을 초래하지 않음을 감지하는 것과 같다. 그러나, 일부 언어들은 이 테스트를 표현하는 더 간단한 방법을 가지고 있다. |
관련 | 찾다 |
포맷 | 언어들 |
---|---|
string_in_string(string, loc int, substring) | 알골 68 |
ContainsStr(string, substring) | 객체 Pascal(델피) |
strstr(string, substring) != NULL | C, C++ (char * 오직 |
string.Contains(substring) | C#, VB.NET, Windows PowerShell, F# |
string.contains(substring) | 코브라, 자바(1.5+), 라쿠, 러스트,[14] C++(C++23)[15] |
string.indexOf(substring) >= 0 | 자바스크립트 |
strpos(string, substring) !== false | PHP |
str_contains(string, substring) | PHP(8+) |
pos(string, substring) <> 0 | 씨드7 |
substring in string | 코브라, 파이톤(2.3+) |
string.find(string, substring) ~= nil | 루아 |
string.include?(substring) | 루비 |
Data.List.isInfixOf substring string | 하스켈(GHC 6.6+) |
string includesSubstring: substring | 스몰토크(스퀘이크, 파로, 스몰토크/X) |
String.isSubstring substring string | 표준 ML |
(search substring string) | 커먼 리스프 |
(not (null (string-index substring string))) | ISLISP |
(substring? substring string) | 클로저 |
! StringFreeQ[string, substring] | 매스매티카 |
index(string, substring, startpos)>0 | 포트란, PL/I[16] |
index(string, substring, occurrence)>0 | 기본 선택 |
strings.Contains(string, substring) | 가다 |
string.find(substring) != string::npos | C++ |
[string containsString:substring] | 목표-C (NSString * iOS 8+/OS X 10.10+만 해당) |
string.rangeOfString(substring) != nil | 스위프트(건국) |
∨/substring⍷string | APL |
¢ ALGOL 68 68 문자열의 예("e", loc int, "Hello mate"), ¢ true ¢ string in string in string("z", loc int, "word"); ¢ true ¢ tring false ¢
// C#의 예 "헬로 메이트".포함하다("e"); // true 반환 "단어".포함하다("z"); // 거짓 반환
# 파이썬의 예 "e" 에 "헬로 메이트" # 참으로 돌아온다 "z" 에 "단어" # 거짓을 돌려주다.
# 라쿠의 예시 "굿모닝!".contents('z') #false "buenos dias!".contents('i'); # returns True
"Smalltalk의 예" '헬로메이트' 포함서브스트링: 'e' " returns true " '단어' 포함서브스트링: 'z' "가짜를 반환하다"
평등
두 줄이 같은지 테스트한다. #Compare 및 #Compare를 참조하십시오. 일반적인 정수 비교 결과를 통해 동등성 검사를 하는 것은 프로그래머에게 혼란스러울 뿐만 아니라 종종 훨씬 더 비싼 작업이라는 점에 유의하십시오. 이것은 "C 스트링"을 사용할 때 특히 사실이다.
포맷 | 언어들 |
---|---|
string1 == string2 | 파이톤, C++(STL), C#, 코브라, 고, 자바스크립트(유사성), PHP(유사성), 루비, 러스트,[10] 얼랑, 하스켈, 루아, D, 마티카, 스위프트 |
string1 === string2 | 자바스크립트, PHP |
string1 == string2 or | 포트란 |
strcmp(string1, string2) == 0 | C |
(string=? string1 string2) | 계략 |
(string= string1 string2) | Common Lisp, ISLISP |
string1 = string2 | ALGOL 68, Ada, Object Pascal (Delphi), OCaml, Pascal, Rexx, Seed7, Standard ML, BASIC, VB, VB.Net, F#, Smalltalk, PL/I, COBOL |
test string1 = string2, or | 본 셸 |
string1 eq string2 | 펄, 라쿠 |
string1.equals(string2) | 코브라, 자바 |
string1.Equals(string2) | C# |
string1 -eq string2, or | Windows PowerShell |
[string1 isEqualToString:string2], or | 목표-C (NSString * 오직 |
string1 ≡ string2 | APL |
string1.eq(string2) | 녹[10] |
// C#의 예 "안녕" == "세계" // 거짓 반환
' Visual Basic의 예 "안녕" = "세계" '가짜를 반환하다
# Perl 5의 예 '여보세요' eq '세계' # 리턴스 0 '여보세요' eq '여보세요' # 돌아온다 1
# 라쿠의 예 '여보세요' eq '세계' # 거짓을 돌려주다. '여보세요' eq '여보세요' # 참으로 돌아온다
# Windows PowerShell의 예 "안녕" -eq "세계" # 거짓을 돌려주다.
∘APL의 예 '여보세요' ≡ '세계' ⍝ 반환 0
찾다
정의 | find(string,substring) 정수를 반환하다 |
---|---|
설명 | 문자열에서 하위 문자열이 처음 발생하는 시작 위치를 반환한다. 이러한 루틴의 대부분을 찾을 수 없는 경우, 잘못된 인덱스 값 -1은 인덱스가 0 기반인 경우, 0은 1 기반인 경우 - 또는 일부 값은 Boolean FALSE로 해석된다. |
관련 | 선동하다 |
포맷 | 언어들 | 찾을 수 없는 경우 |
---|---|---|
string in string(substring, pos, string[startpos:]) | 알골 68 | BOOL을 반환한다. TRUE 또는 FALSE. 그리고 REF INT pos에 위치한다. |
InStr(«startpos,»string,substring) | VB(1부터 시작) | 0을 반환하다 |
INSTR$(string,substring) | 기본(1부터 시작) | 0을 반환하다 |
index(string,substring) | AWK | 0을 반환하다 |
index(string,substring«,startpos») | 펄 5 | 반품 -1 |
index(string,substring«,startpos») string.index(substring,«,startpos») | 라쿠 | 닐을 돌려주다 |
instr(«startpos,»string,substring) | 프리베이직 | 0을 반환하다 |
strpos(string,substring«,startpos») | PHP | FALSE를 반환하다 |
locate(string, substring) | 잉그레스 | 문자열 길이 + 1 반환 |
strstr(string, substring) | C, C++ (char * only, pointer를 첫 번째 문자로 되돌림) | NULL을 반환 |
std.string.indexOf(string, substring) | D | 반품 -1 |
pos(string, substring«, startpos») | 씨드7 | 0을 반환하다 |
strings.Index(string, substring) | 가다 | 반품 -1 |
pos(substring, string) | 파스칼, 오브젝트 파스칼 (델피) | 0을 반환하다 |
pos(substring, string«,startpos») | 렉시 | 0을 반환하다 |
string.find(substring«,startpos») | C++(STL) | 반환 std::string::npos |
string.find(substring«,startpos«,endpos»») | 파이톤 | 반품 -1 |
string.index(substring«,startpos«,endpos»») | ValueError 상승 | |
string.index(substring«,startpos») | 루비 | 영을 내리다 |
string.indexOf(substring«,startpos») | 자바, 자바스크립트 | 반품 -1 |
string.IndexOf(substring«,startpos«, charcount»») | VB .NET, C#, 윈도우즈 PowerShell, F# | 반품 -1 |
string:str(string, substring) | 얼랑 | 0을 반환하다 |
(string-contains string substring) | 스키마(SRFI 13) | #f를 돌려주다. |
(search substring string) | 커먼 리스프 | NIL을 반환하다 |
(string-index substring string) | ISLISP | 돌아온다 nil |
List.findIndex (List.isPrefixOf substring) (List.tails string) | Haskell (Returns Just 인덱스) | 아무 것도 반환하지 않음 |
Str.search_forward (Str.regexp_string substring) string 0 | OCAML | 상승 없음_found |
Substring.size (#1 (Substring.position substring (Substring.full string))) | 표준 ML | 문자열 길이 반환 |
[string rangeOfString:substring].location | 목표-C (NSString * 오직 | NSNotFound 반환 |
string.find(string, substring) | 루아 | 영을 내리다 |
string indexOfSubCollection: substring startingAt: startpos ifAbsent: aBlock | 스몰토크 (스퀘이크, 파로) | 블록 폐쇄(또는 모든 객체 이해 값)인 블록 평가 0을 반환하다 |
startpos = INDEX(string, substring «,back» «, kind») | 포트란 | 하위 문자열이 문자열에 없으면 0을 반환하고, 하위 문자열이 비어 있으면 LEN(string)+1을 반환한다. |
POSITION(substring IN string) | SQL | 리턴스 0(1에서 시작 |
index(string, substring, startpos ) | PL/I[16] | 리턴스 0(1에서 시작 |
index(string, substring, occurrence ) | 기본 선택 | 하위 문자열 발생이 문자열에 없는 경우 0을 반환함(1에서 시작) |
string.indexOf(substring«,startpos«, charcount»») | 코브라 | 반품 -1 |
string first substring string startpos | Tcl | 반품 -1 |
(substring⍷string)⍳1 | APL | 문자열의 마지막 위치 1 + 반환 |
string.find(substring) | 녹[17] | 답례품 |
; Common Lisp의 예 (샅샅이 뒤지다 "e" "헬로 메이트") ; 1을 반환한다. (샅샅이 뒤지다 "z" "단어") ; NIL 반환
// C#의 예 "헬로 메이트".IndexOf("e"); // 반환 1 "헬로 메이트".IndexOf("e", 4); // 9를 반환함 "단어".IndexOf("z"); // 반환 -1
# 라쿠의 예시 "여보세요, 저기!"지수('e') ##는 1 "여보세요, 저기!"를 반환한다.인덱스('z') # 닐 반환
; 구성표 예제 (중고품인 (srfi srfi-13)) (현악기의 "헬로 메이트" "e") ; 1을 반환한다. (현악기의 "단어" "z") ; #f를 반환한다.
' Visual Basic의 예 인스트("헬로 메이트", "e") ' 반환 2 인스트(5, "헬로 메이트", "e") ' 10을 반환하다 인스트("단어", "z") '이 반환 0
" Examples in Smalltalk " 'Hello mate' indexOfSubCollection:'ate' "returns 8" 'Hello mate' indexOfSubCollection:'late' "returns 0" I'Hello mate' indexOfSubCollection:'late' ifAbsent:[ 99 ] "returns 99" 'Hello mate' indexOfSubCollection:'late' ifAbsent:[ self error ] "raises an exception"
캐릭터 찾기
정의 | find_character(string,char) 정수를 반환하다 |
---|---|
설명 | 문자열에서 문자열이 처음 나타나는 시작 위치를 반환한다. 이러한 루틴의 대부분을 찾을 수 없는 경우, 인덱스가 0 기반인 경우 -1, 1 기반인 경우 0 등 잘못된 인덱스 값을 반환하거나 부울 FALSE로 해석할 일부 값을 반환한다. 이것은 #Find의 특별한 경우로서, 한 문자의 문자열로 이루어질 수 있지만, 한 문자만을 찾는 것이 여러 언어에서 더 간단하거나 더 효율적일 수 있다. 또한 많은 언어에서 문자와 문자열은 종류가 다르기 때문에 그런 기능을 갖는 것이 편리하다. |
관련 | 찾아내다 |
포맷 | 언어들 | 찾을 수 없는 경우 |
---|---|---|
char in string(char, pos, string[startpos:]) | 알골 68 | BOOL을 반환한다. TRUE 또는 FALSE. 그리고 REF INT pos에 위치한다. |
instr(string, any char«,startpos») (char, 한 자를 더 포함할 수 있으며, 이 경우 첫 번째 등장인물의 위치가 반환된다.) | 프리베이직 | 0을 반환하다 |
strchr(string,char) | C, C++ (char * 전용, 문자로 포인터 반환) | NULL을 반환 |
std.string.find(string, dchar) | D | 반품 -1 |
string.find(char«,startpos») | C++(STL) | 반환 std::string::npos |
pos(string, char«, startpos») | 씨드7 | 0을 반환하다 |
strings.IndexRune(string,char) | 가다 | 반품 -1 |
string.indexOf(char«,startpos») | 자바, 자바스크립트 | 반품 -1 |
string.IndexOf(char«,startpos«, charcount»») | VB .NET, C#, 윈도우즈 PowerShell, F# | 반품 -1 |
(position char string) | 커먼 리스프 | NIL을 반환하다 |
(char-index char string) | ISLISP | 돌아온다 nil |
List.elemIndex char string | 하스켈 (귀국) Just index ) | 돌아온다 Nothing |
String.index string char | OCAML | 상승 없음_found |
position = SCAN (string, set «, back» «, kind») or | 포트란 | 0을 반환하다 |
string indexOf: char ifAbsent: aBlock | 스몰토크 | 평가하다 aBlock 어느 것이 a이다. BlockClosure (또는 모든 객체 이해 값) 0을 반환하다 돌아온다 true 또는 false |
index(string, char, startpos ) | PL/I[18] | 리턴스 0(1에서 시작 |
string.index(?char) | 루비 | 영을 내리다 |
strpos(string,char,startpos) | PHP | 돌아온다 false |
string.indexOf(char«,startpos«, charcount»») | 코브라 | 반품 -1 |
string⍳char | APL | 문자열의 마지막 위치 1 + 반환 |
string.find(substring) | 녹[17] | 답례품 |
// C#의 예 "헬로 메이트".IndexOf('e'); // 반환 1 "단어".IndexOf('z') // 반환 -1
; Common Lisp의 예 (위치를 정하다 #\e "헬로 메이트") ; 1을 반환한다. (위치를 정하다 #\z "단어") ; NIL 반환
^a 일련의 문자를 지정하면 SCAN은 발견된 첫 번째 문자의 위치를 반환하고 [19]VERIFILE은 세트에 속하지 않는 첫 번째 문자의 위치를 반환한다.[20]
포맷
정의 | format(formatstring, items) 문자열을 반환하다 |
---|---|
설명 | 하나 이상의 항목에 대해 형식화된 문자열 표현 반환. |
포맷 | 언어들 | 형식 문자열 구문 | |
---|---|---|---|
associate(file, string); putf(file, $formatstring$, items) | 알골 68 | 알골 | |
Format(item, formatstring) | VB | | |
sprintf(formatstring, items) | 펄, PHP, 라쿠, 루비 | C | |
item.fmt(formatstring) | 라쿠 | C | |
io_lib:format(formatstring, items) | 얼랑 | | |
sprintf(outputstring, formatstring, items) | C | C | |
std::format(formatstring, items) | C++(C++20) | 파이톤 | |
std.string.format(formatstring, items) | D | C | |
Format(formatstring, items) | 객체 Pascal(델피) | | |
fmt.Sprintf(formatstring, items) | 가다 | C | |
printf -v outputstring formatstring items | 바쉬 셸 | C | |
formatstring % (items) | 파이톤, 루비 | C | |
formatstring.format(items) | 파이톤 | .NET | |
fformatstring | 파이톤 3 | ||
Printf.sprintf formatstring [21] items | OCaml, F# | C | |
Text.Printf.printf formatstring items | 하스켈(GHC) | C | |
formatstring printf: items | 스몰토크 | C | |
String.format(formatstring, items) | 자바 | C | |
String.Format(formatstring, items) | VB .NET, C#, F# | .NET | |
(format formatstring items) | 스키마(SRFI 28) | 리스프 | |
(format nil formatstring items) | 커먼 리스프 | 리스프 | |
(format formatstring items) | 클로저 | 리스프 | |
formatstring -f items | Windows PowerShell | .NET | |
[NSString stringWithFormat:formatstring, items] | 목표-C (NSString * 오직 | C | |
String(format:formatstring, items) | 스위프트(건국) | C | |
string.format(formatstring, items) | 루아 | C | |
WRITE (outputstring, formatstring) items | 포트란 | 포트란 | |
put string(string) edit(items)(format) | PL/I | PL/I(포트란과 유사) | |
String.format(formatstring, items) | 코브라 | .NET | |
format formatstring items | Tcl | C | |
formatnumbers ⍕ items 또는 formatstring ⎕FMT items | APL | APL | |
format!(formatstring, items) | 녹[22] | 파이톤 |
// C#의 예 끈.포맷("내 {0} 비용은 {1:C2}", "펜", 19.99); // "내 펜은 19.99달러"를 반환한다.
// Object Pascal(Delphi)의 예 포맷('내 %s 비용은 $%2f', ['펜', 19.99]); // "내 펜은 19.99달러"를 반환한다.
// Java의 예 끈.형식을 갖추다("내 %s 비용은 $%2f", "펜", 19.99); // "내 펜은 19.99달러"를 반환한다.
# Raku sprintf의 예 "내 %s 비용은 \$2f", "펜", 19.99; # 반환 "내 펜 가격은 $19.99", 1.fmt("%04d"), # 반환 "0001"
# 파이썬의 예 "나의 %s 비용이 들다%.2f" % ("펜", 19.99); # "내 펜은 19.99달러" 반환 "나의 {0} 비용이 들다{1:.2f}".형식을 갖추다("펜", 19.99); # "내 펜은 19.99달러" 반환
#Python 3.6+의 예 펜으로 쓰다 = "펜" f"나의 {펜으로 쓰다} 비용. {19.99}" #반환 "내 펜값 19.99"
; 구성표 예 (형식을 갖추다 "내 ~a는 $1,2F 정도" "펜" 19.99) ; "내 펜의 가격은 19.99달러"를 반환한다.
/* PL/I */ put string(some_string) 편집의 예('My ', '펜', 'costs', 19.99)(a,a,a,p'$$V.99')/* 반환 "내 펜 가격은 $19.99" */
불평등
두 문자열이 같지 않은지 테스트한다. #Equality를 참조하십시오.
포맷 | 언어들 |
---|---|
string1 ne string2, or string1 NE string2 | ALGOL 68 – 참고: 연산자 "ne"는 말 그대로 굵은 글꼴로 되어 있다. |
string1 /= string2 | ALGOL 68, 아다, 에를랑, 포트란, 하스켈 |
string1 <> string2 | 베이직, VB, VB.NET, Pascal, Object Pascal (Delphi), OCaml, PHP, Seed7, Standard ML, F#, COBOL, 코브라, 파이톤 2 (사용되지 않음) |
string1 # string2 | BASIC(일부 구현) |
string1 ne string2 | 펄, 라쿠 |
(string<> string1 string2) | 스키마(SRFI 13) |
(string/= string1 string2) | 커먼 리스프 |
(string/= string1 string2) | ISLISP |
(not= string1 string2) | 클로저 |
string1 != string2 | C++(STL), C#, Go, JavaScript(비슷하지 않음), PHP(비슷하지 않음), Python, Ruby, Rust,[10] Swift, D, Mathematica |
string1 !== string2 | 자바스크립트, PHP |
string1 \= string2 | 렉시 |
string1 ¬= string2 | PL/I |
test string1 != string2, or | 본 셸 |
string1 -ne string2, or | Windows PowerShell |
string1 ~= string2 | 루아, 스몰토크 |
string1 ≢ string2 | APL |
string1.ne(string2) | 녹[10] |
// C#의 예 "안녕" != "세계" // true 반환
' Visual Basic의 예 "안녕" <> "세계" true를 반환하다
;;; Clojure의 예 (not= "안녕" "세계") ; true
# 펄 5의 예 '여보세요' 네 '세계' # 돌아온다 1
# 라쿠의 예 '여보세요' 네 '세계' # 참으로 돌아온다
# Windows PowerShell의 예 "안녕" -ne "세계" # 참으로 돌아온다
색인을 달다
보다 #찾기
색인의
보다 #찾기
선동하다
보다 #찾기
선동하다
보다 #신드
합류하다
정의 | join(separator, list_of_strings) 구분 기호로 조인된 문자열 목록을 반환함 |
---|---|
설명 | 각 하위 문자열 사이에 구분 문자열을 사용하여 문자열 목록을 새 문자열로 결합하십시오. 스플릿 반대. |
관련 | 단거리 경주 |
포맷 | 언어들 |
---|---|
std.string.join(array_of_strings, separator) | D |
string:join(list_of_strings, separator) | 얼랑 |
join(separator, list_of_strings) | 펄, PHP, 라쿠 |
implode(separator, array_of_strings) | PHP |
separator.join(sequence_of_strings) | 파이톤, 스위프트 1.x |
array_of_strings.join(separator) | 루비, 자바스크립트, 라쿠, 러스트[23] |
(string-join array_of_strings separator) | 스키마(SRFI 13) |
(format nil "~{~a~^separator~}" array_of_strings) | 커먼 리스프 |
(clojure.string/join separator list_of_strings) | 클로저 |
strings.Join(array_of_strings, separator) | 가다 |
join(array_of_strings, separator) | 씨드7 |
String.concat separator list_of_strings | OCAML |
String.concatWith separator list_of_strings | 표준 ML |
Data.List.intercalate separator list_of_strings | 하스켈(GHC 6.8+) |
Join(array_of_strings, separator) | VB |
String.Join(separator, array_of_strings) | VB .NET, C#, F# |
String.join(separator, array_of_strings) | 자바 8+ |
&{$OFS=$separator; "$array_of_strings"}, or | Windows PowerShell |
[array_of_strings componentsJoinedByString:separator] | 목표-C (NSString * 오직 |
table.concat(table_of_strings, separator) | 루아 |
{ String streamContents: [ :stream collectionOfAnything asStringOn: stream delimiter: separator ] | 스몰토크 (스퀘이크, 파로) |
array_of_strings.join(separator«, final_separator») | 코브라 |
sequence_of_strings.joinWithSeparator(separator) | 스위프트 2.x |
1↓∊separator,¨list_of_strings | APL |
// C#의 예 끈.가입하다("-", {"a", "b", "c"}) // "a-b-c"
"Smalltalk의 예" #('a' 'b' 'c') 조인사용: '-' "a-b-c"
# 펄 5의 예 합류하다( '-', ('a', 'b', 'c')); # 'a-b-c'
# 라쿠 <a b c>.join('-')의 예; # 'a-b-c'
# 파이썬의 예 "-".합류하다(["a", "b", "c"]) # 'a-b-c'
# 루비의 예 ["a", "b", "c"].합류하다("-") # 'a-b-c'
; 구성표 예 (중고품인 (srfi srfi-13)) (현악기의 '("a" "b" "c") "-") ; "a-b-c"
의 마지막 색인.
보다 #신드
남겨진
정의 | left(string,n) 문자열을 반환하다 |
---|---|
설명 | 문자열의 왼쪽 n 부분을 반환한다. n이 문자열 길이보다 클 경우 대부분의 구현은 전체 문자열을 반환한다(예외가 있음 - 코드 예 참조). UTF-8, UTF-16 또는 Shift-JIS와 같은 가변 길이 인코딩의 경우 잘못된 문자열을 피하기 위해 끝에 있는 문자열 위치를 제거해야 할 수 있다는 점에 유의하십시오. |
포맷 | 언어들 |
---|---|
string (string'First .. string'First + n - 1) | 에이다 |
substr(string, 0, n) | AWK(변경 문자열), 펄, PHP, 라쿠 |
LEFT$(string,n) | 기본, VB |
left(string,n) | VB, FreeBASIC, Ingres, Pick Basic |
strncpy(string2, string, n) | C 표준 라이브러리 |
string.substr(0,n) | C++(STL), 라쿠 |
[string substringToIndex:n] | 목표-C (NSString * 오직 |
(apply str (take n string)) | 클로저 |
string[0 .. n] | D[24] |
string:substr(string, start, length) | 얼랑 |
(subseq string 0 n) | 커먼 리스프 |
string[:n] | 코브라, 고, 파이톤 |
left(string,n «,padchar») | 렉스, 얼랑 |
string[0, n] | 루비 |
string[1, n] | 기본 선택 |
string[ .. n] | 씨드7 |
string.Substring(0,n) | VB .NET, C#, 윈도우즈 PowerShell, F# |
leftstr(string, n) | 파스칼, 오브젝트 파스칼 (델피) |
copy (string,1,n) | 터보 파스칼 |
string.substring(0,n) | 자바,[25] 자바스크립트 |
(string-take string n) | 스키마(SRFI 13) |
take n string | 하스켈 |
String.extract (string, n, NONE) | 표준 ML |
String.sub string 0 n | OCAML[26] |
string.[..n] | F# |
string.sub(string, 1, n) | 루아 |
string first: n | 스몰토크 (스퀘이크, 파로) |
string(:n) | 포트란 |
StringTake[string, n] | 매스매티카[27] |
string («FUNCTION» LENGTH(string) - n:n) | 코볼 |
string.substring(0, n) | 코브라 |
n↑string. | APL |
string[0..n] string[..n] string.get(0..n) string.get(..n) | 녹[28] |
# 라쿠의 예시 "여보세요, 저기!"서브스트(0, 6), #이(가) "Hello"
/* Rexx */의 예 남겨진("abcde", 3) /* "contract" 반환 */ 남겨진("abcde", 8) /* returns " */" 남겨진("abcde", 8, "*") /* "contde***" */
; 구성표 예제 (중고품인 (srfi srfi-13)) (끈 테이크 "abcde", 3) ; "result"를 반환한다. (끈 테이크 "abcde", 8) ; 오류
' 예 에 비주얼 기본 왼쪽("샌드로기디", 3) ' 돌아온다 "산" 왼쪽("샌드로기디", 100) ' 돌아온다 "샌드로기디"
렌
보다 #길이
길이
정의 | length(string) 정수 번호를 반환하다 |
---|---|
설명 | 문자열의 길이(null terminator 또는 문자열의 내부 구조 정보를 계산하지 않음)를 반환함 빈 문자열은 0의 길이를 반환한다. |
포맷 | 돌아온다 | 언어들 |
---|---|---|
string'Length | | 에이다 |
UPB string | | 알골 68 |
length(string) | | Ingres, Perl 5, Pascal, Object Pascal(델피), Rexx, Seed7, SQL, PL/I |
len(string) | | BASIC, FreeBASIC, Python, Go, Pick Basic |
length(string), string:len(string) | | 얼랑 |
Len(string) | | VB, 픽 베이직 |
string.Length | UTF-16 코드 단위 수 | VB .NET, C#, 윈도우즈 PowerShell, F# |
chars(string) string.chars | 문자 수(NFG) | 라쿠 |
codes(string) string.codes | 유니코드 코드 포인트 수 | 라쿠 |
string.size OR string.length | 바이트[29] 수 | 루비 |
strlen(string) | 바이트 수 | C, PHP |
string.length() | | C++(STL) |
string.length | | 코브라, D, 자바스크립트 |
string.length() | UTF-16 코드 단위 수 | 자바 |
(string-length string) | | 계략 |
(length string) | | Common Lisp, ISLISP |
(count string) | | 클로저 |
String.length string | | OCAML |
size string | | 표준 ML |
length string | 유니코드 코드 포인트 수 | 하스켈 |
string.length | UTF-16 코드 단위 수 | 목표-C (NSString * 오직 |
string.characters.count | 문자 수 | 스위프트(2.x) |
count(string) | 문자 수 | 스위프트(1.2) |
countElements(string) | 문자 수 | 스위프트(1.0–1.1) |
string.len(string) | | 루아 |
string size | | 스몰토크 |
LEN(string), or LEN_TRIM(string) | | 포트란 |
StringLength[string] | | 매스매티카 |
«FUNCTION» LENGTH(string) 또는
| 각각 문자 수 및 바이트 수 | 코볼 |
string length string | 문자 수를 나타내는 십진법 문자열 | Tcl |
≢ string | APL | |
string.len() | 바이트 수 | 녹[30] |
string.chars().count() | 유니코드 코드 포인트 수 | 녹[31] |
// C#의 예 "안녕".길이; // 반환 5 "".길이; // 0 반환
# 예 에 얼랑 끈을 매다:렌("안녕"). % 반품 5 끈을 매다:렌(""). % 반환 0
# Perl 5의 예 길이("안녕"); # 돌아온다 5 길이(""); # 리턴스 0
# 라쿠 " examples examples🏳"의 예, chars "🏳️🌈"; chars "🏳️🌈"; # 둘 다 1 "🏳️🌈"코드를 반환하고, 코드 "🏳️🌈"; # 둘 다 4 ".chars "; # 둘 다 0"; code "; # 둘 다 0"을 반환한다.
' Visual Basic의 예 렌("안녕") ' 5를 반환하다 렌("") '이 반환 0
//목표-C의 예시 [@"안녕" 길이] //message 5 [@"" 길이] //message 0
-- 루아의 예 ("안녕"):렌() - 반품 5 #"" -- 반환 0
위치를 알아내다
보다 #찾기
소문자
정의 | lowercase(string) 문자열을 반환하다 |
---|---|
설명 | 문자열을 소문자로 반환한다. |
포맷 | 언어들 |
---|---|
LCase(string) | VB |
lcase(string) | 프리베이직 |
lc(string) | 펄, 라쿠 |
string.lc | 라쿠 |
tolower(char) | C[32] |
std.string.toLower(string) | D |
transform(string.begin(), string.end(), result.begin(), ::tolower) [33] | C++[34] |
lowercase(string) | 객체 Pascal(델피) |
strtolower(string) | PHP |
lower(string) | 씨드7 |
echo "string" tr 'A-Z' 'a-z' | 유닉스 |
string.lower() | 파이톤 |
downcase(string) | 기본 선택 |
string.downcase | 루비[35] |
strings.ToLower(string) | 가다 |
(string-downcase string) | 스키마(R6RS), 공통 리스프 |
(lower-case string) | 클로저 |
String.lowercase string | OCAML |
String.map Char.toLower string | 표준 ML |
map Char.toLower string | 하스켈 |
string.toLowerCase() | 자바, 자바스크립트 |
to_lower(string) | 얼랑 |
string.ToLower() | VB .NET, C#, 윈도우즈 PowerShell, F# |
string.lowercaseString | 목표-C (NSString * 전용), Swift(건국) |
string.lower(string) | 루아 |
string asLowercase | 스몰토크 |
LOWER(string) | SQL |
lowercase(string) | PL/I[8] |
ToLowerCase[string] | 매스매티카 |
«FUNCTION» LOWER-CASE(string) | 코볼 |
string.toLower | 코브라 |
string tolower string | Tcl |
string.to_lowercase() | 녹[36] |
// C#의 예 "위키는 빠르다는 뜻인가?".토로우(); // "위키는 빠르다는 뜻?"
; 구성표 예 (중고품인 (srfi srfi-13)) (문자열-다운케이스 "위키는 빠르다는 뜻인가?") ; "wiki는 빠르다는 뜻인가?"
/* C의 예 */ #include <ctype.h> #include <stdio.h> 인트로 본래의(공허하게 하다) { 마를 뜨다 끈을 매다[] = "위키는 빠르다는 뜻인가?"; 인트로 i; 을 위해 (i = 0; i < 의 크기(끈을 매다) - 1; ++i) { /* 제자리에 있는 문자를 하나씩 변환 */ 끈을 매다[i] = 하류로 하다(끈을 매다[i]); } 놓다(끈을 매다); /* "위키는 빠르다는 뜻인가?" */ 돌아오다 0; }
# 라쿠의 예 "위키는 빠르다는 뜻?".lc; # "위키는 빠르다는 뜻?"
중앙의
보다 #오링
칸막이를 치다
정의 | < 문자열>.csulation(sub-string)은 구분자 앞에 하위 문자열을, 구분자 뒤에 하위 문자열을, 구분자 뒤에 하위 문자열은 구분자 뒤에 위치시킨다. |
---|---|
설명 | 지정된 문자열을 구분 기호로 분할하고 함께 원본이 되는 세 개의 하위 문자열을 반환한다. |
포맷 | 언어들 | 평. |
---|---|---|
string.partition(separator) | 파이톤, 루비(1.9+) | |
lists:partition(pred, string) | 얼랑 | |
split /(separator)/, string, 2 | 펄 5 | |
split separator, string, 2 string.split( separator, 2 ) | 라쿠 | 구분 기호가 정규 표현식일 필요는 없음 |
# 파이썬의 예 "스팸에그 스팸 및 햄".칸막이를 치다('스팸') #('스팸알', '스팸', '스팸과 햄') "스팸에그 스팸 및 햄".칸막이를 치다('X') #('스팸 알 스팸 스팸 및 햄', "", "")
# 펄 5 / 라쿠의 예 갈라지다 /(스팸)/, '스팸에그 스팸과 햄' ,2; #('스팸 계란 ', '스팸', '스팸과 햄'; 갈라지다 /(X)/, '스팸에그 스팸과 햄' ,2; #('스팸플릿 알 스팸 및 햄';
대체하다
정의 | replace(string, find, replace) 문자열을 반환하다 |
---|---|
설명 | 바꿀 검색 발생이 변경된 문자열을 반환한다. |
포맷 | 언어들 |
---|---|
changestr(find, string, replace) | 렉시 |
std.string.replace(string, find, replace) | D |
Replace(string, find, replace) | VB |
replace(string, find, replace) | 씨드7 |
change(string, find, replace) | 기본 선택 |
string.Replace(find, replace) | C#, F#, VB.네트 |
str_replace(find, replace, string) | PHP |
re:replace(string, find, replace, «{return, list}») | 얼랑 |
string.replace(find, replace) | 코브라, 자바(1.5+), 파이톤, 러스트[37] |
string.replaceAll(find_regex, replace)[38] | 자바 |
string.gsub(find, replace) | 루비 |
string =~ s/find_regex/replace/g[38] | 펄 5 |
string.subst(find, replace, :g) | 라쿠 |
string.replace(find, replace, "g") [39] or | 자바스크립트 |
echo "string" sed 's/find_regex/replace/g'[38] | 유닉스 |
string.replace(find, replace), or | Windows PowerShell |
Str.global_replace (Str.regexp_string find) replace string | OCAML |
[string stringByReplacingOccurrencesOfString:find withString:replace] | 목표-C (NSString * 오직 |
string.stringByReplacingOccurrencesOfString(find, withString:replace) | 스위프트(건국) |
string.gsub(string, find, replace) | 루아 |
string copyReplaceAll: find with: replace | 스몰토크 (스퀘이크, 파로) |
string map {find replace} string | Tcl |
StringReplace[string, find -> replace] | 매스매티카 |
strings.Replace(string, find, replace, -1) | 가다 |
INSPECT string REPLACING ALL/LEADING/FIRST find BY replace | 코볼 |
find_regex ⎕R replace_regex ⊢ string | APL |
// C#의 예 "off".대체하다("f", "jump"); // "ejumpjumpjumpjumpjump" 반환 "블라".대체하다("z", "Y"); // "블라" 반환
// Java의 예 "off".대체하다("f", "jump"); // "ejumpjumpjumpjumpjump" 반환 "off".모두 바꾸기("f*", "jump"); // "ejump" 반환
// 라쿠 "effffff".subst("f", "jump", :g)의 예:#은 "ejumpjumpjump".blah.("z", "y", :g); #는 "blah"를 반환한다.
' Visual Basic의 예 대체하다("off", "f", "jump") 가 "ejumpjumpjumpjumpjump"를 반환함 대체하다("블라", "z", "Y") 는 "blah"를 반환한다.
# Windows PowerShell의 예 "off" -sness "f", "jump" # "ejumpjumpjumpjumpjump" 반환 "off" -sness "f*", "jump" # "ejump" 반환
역행의
정의 | reverse(string) |
---|---|
설명 | 문자열의 문자 순서를 반대로 한다. |
포맷 | 언어들 |
---|---|
reverse string | 펄 5, 하스켈 |
flip string string.flip | 라쿠 |
lists:reverse(string) | 얼랑 |
strrev(string) | PHP |
string[::-1] | 파이톤 |
(string-reverse string) | 스키마(SRFI 13) |
(reverse string) | 커먼 리스프 |
string.reverse | Ruby, D(끈 수정) |
new StringBuilder(string).reverse().toString() | 자바 |
std::reverse(string.begin(), string.end()); | C++ (std::string only, 문자열 수정) |
StrReverse(string) | VB |
string.Reverse().ToString() | VB .NET, C# |
implode (rev (explode string)) | 표준 ML |
string.split("").reverse().join("") | 자바스크립트 |
string.reverse(string) | 루아 |
string reverse | 스몰토크 |
StringReverse[string] | 매스매티카 |
reverse(string) | PL/I |
«FUNCTION» REVERSE(string) | 코볼 |
string.toCharArray.toList.reversed.join() | 코브라 |
String(string.characters.reverse()) | 스위프트(2.x) |
String(reverse(string)) | 스위프트(1.2) |
string reverse string | Tcl |
⌽string | APL |
string.chars().rev().collect::<String>() | 녹[40] |
"Smalltalk의 예" '여보세요' 뒤바뀐 "는 '올레'를 반환한다."
# 펄 5의 예 역행의 "안녕" # '올레' 돌아온다
# 라쿠 "안녕"의 예.# "올레"를 반환한다.
# 파이썬의 예 "안녕"[::-1] # '올레' 돌아온다
; 구성표 예 (중고품인 (srfi srfi-13)) (끈 역행의 "안녕") ; "올레" 반환
라핀드
정의 | rfind(string,substring) 정수를 반환하다 |
---|---|
설명 | 문자열에서 하위 문자열의 마지막 발생 시작 위치를 반환한다. 이러한 루틴의 대부분을 찾을 수 없는 경우, 잘못된 인덱스 값 -1은 인덱스가 0 기반인 경우, 0은 1 기반인 경우 - 또는 일부 값은 Boolean FALSE로 해석된다. |
관련 | 선동하다 |
포맷 | 언어들 | 찾을 수 없는 경우 |
---|---|---|
InStrRev(«startpos,» string,substring) | VB | 0을 반환하다 |
instrrev(«startpos,» string,substring) | 프리베이직 | 0을 반환하다 |
rindex(string,substring«,startpos») | 펄 5 | 반품 -1 |
rindex(string,substring«,startpos») string.rindex(substring«,startpos») | 라쿠 | 닐을 돌려주다 |
strrpos(string,substring«,startpos») | PHP | FALSE를 반환하다 |
string.rfind(substring«,startpos») | C++(STL) | 반환 std::string::npos |
std.string.rfind(string, substring) | D | 반품 -1 |
string.rfind(substring«,startpos«, endpos»») | 파이톤 | 반품 -1 |
string.rindex(substring«,startpos«, endpos»») | ValueError 상승 | |
rpos(string, substring«,startpos») | 씨드7 | 0을 반환하다 |
string.rindex(substring«,startpos») | 루비 | 영을 내리다 |
strings.LastIndex(string, substring) | 가다 | 반품 -1 |
string.lastIndexOf(substring«,startpos») | 자바, 자바스크립트 | 반품 -1 |
string.LastIndexOf(substring«,startpos«, charcount»») | VB .NET, C#, 윈도우즈 PowerShell, F# | 반품 -1 |
(search substring string :from-end t) | 커먼 리스프 | NIL을 반환하다 |
[string rangeOfString:substring options:NSBackwardsSearch].location | 목표-C (NSString * 오직 | NSNotFound 반환 |
Str.search_backward (Str.regexp_string substring) string (Str.length string - 1) | OCAML | 상승 없음_found |
string.match(string, '.*()'..substring) | 루아 | 영을 내리다 |
Ada.Strings.Unbounded.Index(Source => string, Pattern => substring, | 에이다 | 0을 반환하다 |
string.lastIndexOf(substring«,startpos«, charcount»») | 코브라 | 반품 -1 |
string lastIndexOfString:substring | 스몰토크 | 0을 반환하다 |
string last substring string startpos | Tcl | 반품 -1 |
(⌽<\⌽substring⍷'string')⍳1 | APL | 반품 -1 |
string.rfind(substring) | 녹[41] | 답례품 |
; Common Lisp의 예 (샅샅이 뒤지다 "e" "헬로 메이트" :끝부터 t) ; 9를 반환한다. (샅샅이 뒤지다 "z" "단어" :끝부터 t) ; NIL 반환
// C#의 예 "헬로 메이트".LastIndexOf("e"); // 9를 반환함 "헬로 메이트".LastIndexOf("e", 4); // 반환 1 "단어".LastIndexOf("z"); // 반환 -1
# Perl 5의 예 r인덱스("헬로 메이트", "e"); # 9 돌아온다 r인덱스("헬로 메이트", "e", 4); # 돌아온다 1 r인덱스("단어", "z"); # 반품 -1
# 라쿠 "Hello mate".rindex("e")의 예; # 9 "Hello mate".rindex("e", 4); # returns 1 "word".rindex('z'); # returns Nil
' Visual Basic의 예 InStrRev("헬로 메이트", "e") ' 10을 반환하다 InStrRev(5, "헬로 메이트", "e") ' 반환 2 InStrRev("단어", "z") '이 반환 0
맞다
정의 | right(string,n) 문자열을 반환하다 |
---|---|
설명 | 문자열의 오른쪽 n 부분을 반환한다. n이 문자열 길이보다 클 경우 대부분의 구현은 전체 문자열을 반환한다(예외가 있음 - 코드 예 참조). |
포맷 | 언어들 |
---|---|
string (string'Last - n + 1 .. string'Last) | 에이다 |
Right(string,n) | VB |
RIGHT$(string,n) | 기본 |
right(string,n) | FreeBASIC, Ingres, Pick Basic |
strcpy(string2, string+n) (n은 문자열 길이보다 클 수 없음) | C |
string.Substring(string.Length()-n) | C# |
string[len(string)-n:] | 가다 |
string.substring(string.length()-n) | 자바 |
string.slice(-n) | 자바스크립트[42] |
right(string,n «,padchar») | 렉스, 얼랑 |
substr(string,-n) | 펄 5, PHP |
substr(string,*-n) string.substr(*-n) | 라쿠 |
string[-n:] | 코브라, 파이톤 |
string[n] | 기본 선택 |
(string-take-right string n) | 스키마(SRFI 13) |
string[-n..-1] | 루비 |
string[$-n .. $] | D[43] |
String.sub string (String.length string - n) n | OCAML[26] |
string.sub(string, -n) | 루아 |
string last: n | 스몰토크 (스퀘이크, 파로) |
StringTake[string, -n] | 매스매티카[27] |
string (1:n) | 코볼 |
¯n↑string. | APL |
string[n..] string.get(n..) | 녹[28] |
// Java의 예제, 오른쪽 4자 추출 끈 발을 동동 구르다 = "카도어"; 발을 동동 구르다.하위 문자열(발을 동동 구르다.길이()-4); // '도어'를 반환
# 라쿠 "abcde".substr(*-3)의 예, # "cde" "abcde".substr(*-8); # "out of range" 오류 반환
/* Rexx */의 예 맞다("abcde", 3) /* "cde" 반환 */ 맞다("abcde", 8) /* returns " */" 맞다("abcde", 8, "*") /* "****de" 반환 */
; 구성표 예제 (중고품인 (srfi srfi-13)) (스트링 테이크 우 "abcde", 3) ; "cde"를 반환 (스트링 테이크 우 "abcde", 8) ; 오류
' Visual Basic의 예 맞다("샌드로기디", 3) 는 "idi"를 반환한다. 맞다("샌드로기디", 100) ' '산드로기디'를 반환한다.
분단
정의 | < 문자열>.rpartition(분리자) 문자열 내에서 오른쪽에서 왼쪽으로 구분자를 검색한 다음 구분자 앞에 하위 문자열을, 구분자 뒤에 하위 문자열을 반환한다. |
---|---|
설명 | 지정된 문자열을 오른쪽 가장자리 구분 기호로 분할하고 함께 원본으로 만드는 세 개의 하위 문자열을 반환한다. |
포맷 | 언어들 |
---|---|
string.rpartition(separator) | 파이톤, 루비 |
# 파이썬의 예 "스팸에그 스팸 및 햄".분단('스팸') ###('스팸 계란 스팸 ', '스팸', ', 햄') "스팸에그 스팸 및 햄".분단('X') ###(",","," 스팸 스팸 및 햄")
얇게 썰다
보다 #오링
갈라지다
정의 | <string>.dll(string[, limit])은 분리기에서 문자열을 분할하며, 선택적으로 제한된 수의 하위 문자열까지만 분할한다. |
---|---|
설명 | 지정된 문자열을 구분자(열 자체)의 발생으로 분할하고 하위 문자열의 목록(또는 배열)을 반환하십시오. 한계가 주어진 경우 – 1개의 구분자를 읽은 후 문자열의 나머지 부분은 구분자가 있는지 여부에 관계없이 마지막 하위 문자열로 만들어진다. 체계와 얼랑 구현은 유사하지만 몇 가지 면에서 다르다. 자바스크립트는 또한 자른다는 점에서 차이가 있으며, 나머지 문자열은 마지막 요소에 넣지 않는다. 여기서 예를 참조하십시오. 코브라 시행은 공백이 될 것이다. 가입 반대. |
포맷 | 언어들 |
---|---|
split(/separator/, string«, limit») | 펄 5 |
split(separator, string«, limit») string.split(separator, «limit») | 라쿠 |
explode(separator, string«, limit») | PHP |
string.split(separator«, limit-1») | 파이톤 |
string.split(separator«, limit») | 자바스크립트, 자바, 루비 |
string:tokens(string, sepchars) | 얼랑 |
strings.Split(string, separator) | 가다 |
(string-tokenize string« charset« start« end»»») | 스키마(SRFI 13) |
Split(string, sepchars«, limit») | VB |
string.Split(sepchars«, limit«, options»») | VB .NET, C#, F# |
string -split separator«, limit«, options»» | Windows PowerShell |
Str.split (Str.regexp_string separator) string | OCAML |
std.string.split(string, separator) | D |
[string componentsSeparatedByString:separator] | 목표-C (NSString * 오직 |
string.componentsSeparatedByString(separator) | 스위프트(건국) |
TStringList.Delimiter, TStringList.DelimitedText | 객체 파스칼 |
StringSplit[string, separator«, limit»] | 매스매티카 |
string.split«(sepchars«, limit«, options»»)» | 코브라 |
split string separator | Tcl |
(separator≠string)⊂string 또는 separator(≠⊆⊢)string APL2 및 Dynalog APL 16.0에서 각각 사용 | APL |
string.split(separator)
| 녹[44] |
// C#의 예 "1998, defg,ijk".분할(','); // {"message", "defg", "ijk"} "abc,defg;ijk".분할(',', ';'); // {"message", "defg", "ijk"}
Erlang의 % 예제 끈을 매다:토큰("1998;defg;ijk", ";"). % ["message", "defg", "ijk"]
// Java의 예 "1998, defg,ijk".갈라지다(","); // {"message", "defg", "ijk"} "abc,defg;ijk".갈라지다(", ;"); // {"message", "defg", "ijk"}
{ Pascal }의 예 시합을 하다 l스트링스: TStringList; l스트: 끈을 매다; 시작되다 l스트링스 := TStringList.만들다; l스트링스.구분 기호 := ','; l스트링스.구분된텍스트 := '1998, defg,ijk'; l스트 := l스트링스.줄들[0]; // '잘못' l스트 := l스트링스.줄들[1]; // 'defgh' l스트 := l스트링스.줄들[2]; // 'ijk' 종지부를 찍다;
# Perl 5의 예 갈라지다(/스팸/, '스팸에그 스팸과 햄'); #('스팸알 ', ', ', ', 햄') 갈라지다(/X/, '스팸에그 스팸과 햄'); #('스팸플릿 알 스팸·햄'
# 라쿠 '스팸에그 스팸 및 햄'.split(/spam/); #(스팸에그와 햄) 분할(/X/, '스팸에그 스팸 및 햄'); #(스팸에그 스팸 및 햄)의 예
단거리 경주
보다 #포맷
옷을 벗기다
보다 #trim
발을 동동 구르다
하위 문자열
정의 | substring(string, startpos, endpos) 문자열을 반환하다 substr(string, startpos, numChars) 문자열을 반환하다 |
---|---|
설명 | 시작점과 끝점에서 시작하거나 길이가 numChar인 시작점에서 시작하는 문자열의 하위 문자열을 반환한다. 시작점 너머에 numChars 문자 수가 적을 경우 결과 문자열이 잘린다. Endpos는 하위 문자열의 마지막 문자 뒤에 있는 지수를 나타낸다. UTF-8, UTF-16 또는 Shift-JIS와 같은 가변 길이 인코딩의 경우 잘못된 문자열을 피하기 위해 끝에 있는 문자열 위치를 제거해야 할 수 있다는 점에 유의하십시오. |
포맷 | 언어들 |
---|---|
string[startpos:endpos] | ALGOL 68(기본지수 변경) |
string (startpos .. endpos) | 에이다(기본지수 변경) |
Mid(string, startpos, numChars) | VB |
mid(string, startpos, numChars) | 프리베이직 |
string[startpos+(⍳numChars)-~⎕IO] | APL |
MID$(string, startpos, numChars) | 기본 |
substr(string, startpos, numChars) | AWK(변경 문자열), Perl 5, [45][46]PHP[45][46] |
substr(string, startpos, numChars) string.substr(startpos, numChars) | 라쿠[47][48] |
substr(string, startpos «,numChars, padChar») | 렉시 |
string[startpos:endpos] | 코브라, 파이톤,[45][49] 고 |
string[startpos, numChars] | 기본 선택 |
string[startpos, numChars] | 루비[45][49] |
string[startpos .. endpos] | 씨드7 |
string.slice(startpos«, endpos») | 자바스크립트[45][49] |
string.substr(startpos«, numChars») | C++(STL), JavaScript |
string.Substring(startpos, numChars) | VB .NET, C#, 윈도우즈 PowerShell, F# |
string.substring(startpos«, endpos») | 자바, 자바스크립트 |
copy(string, startpos, numChars) | 객체 Pascal(델피) |
(substring string startpos endpos) | 계략 |
(subseq string startpos endpos) | 커먼 리스프 |
(subseq string startpos endpos) | ISLISP |
String.sub string startpos numChars | OCAML |
substring (string, startpos, numChars) | 표준 ML |
string:sub_string(string, startpos, endpos) | 얼랑 |
strncpy(result, string + startpos, numChars); | C |
string[startpos .. endpos+1] | D |
take numChars $ drop startpos string | 하스켈 |
[string substringWithRange:NSMakeRange(startpos, numChars)] | 목표-C (NSString * 오직 |
string.[startpos..endpos] | F# |
string.sub(string, startpos, endpos) | 루아[45][49] |
string copyFrom: startpos to: endpos | 스몰토크 |
string(startpos:endpos) | 포트란 |
SUBSTRING(string FROM startpos «FOR numChars») | SQL |
StringTake[string, {startpos, endpos}] | 매스매티카[45][49] |
string (startpos:numChars) | 코볼 |
문자열 범위 문자열 시작단부 | Tcl |
string[startpos..endpos] string.get(startpos..endpos) | 녹[28] |
// C#의 예 "abc".서브스크린(1, 1): // "b" 반환 "abc".서브스크린(1, 2); // "BC" 반환 "abc".서브스크린(1, 6); // 오류
;;; Common Lisp의 예 (서브섹 "abc" 1 2) ; "b"를 반환함 (서브섹 "abc" 2) ; "c"를 반환한다.
Erlang의 % 예 끈을 매다:기판을 달다("abc", 2, 1). % 반환 "b" 끈을 매다:기판을 달다("abc", 2). %는 "bc"를 반환
# Perl 5의 예 기판을 달다("abc", 1, 1); # "b" 반환 기판을 달다("abc", 1); # "bc" 반환
# Raku "abc".substr(1, 1); # returns "bc".substr(1); # returns "bc"
# 파이썬의 예 "abc"[1:2] # "b" 반환 "abc"[1:3] # "bc" 반환
/* Rexx */의 예 기판을 달다("abc", 2, 1) /* "b" 반환 */ 기판을 달다("abc", 2) /* "BC" 반환 */ 기판을 달다("abc", 2, 6) /* "BC " */"를 반환함 기판을 달다("abc", 2, 6, "*") /* "bc********" */
대문자
정의 | uppercase(string) 문자열을 반환하다 |
---|---|
설명 | 대문자로 문자열을 반환한다. |
포맷 | 언어들 |
---|---|
UCase(string) | VB |
ucase(string) | 프리베이직 |
toupper(string) | AWK(변경 문자열) |
uc(string) | 펄, 라쿠 |
string.uc | 라쿠 |
toupper(char) | C(한 문자로 작동) |
for(size_t i = 0, len = strlen(string); i< len; i++) string[i] = toupper(string[i]); for (char *c = string; *c != '\0'; c++) *c = toupper(*c); | C(문자 배열/문자 배열) |
std.string.toUpper(string) | D |
transform(string.begin(), string.end(), result.begin(), toupper)[33] | C++[50] |
uppercase(string) | 객체 Pascal(델피) |
upcase(char) | 개체 Pascal(Delphi) (한 문자로 작동) |
strtoupper(string) | PHP |
upper(string) | 씨드7 |
echo "string" tr 'a-z' 'A-Z' | 유닉스 |
translate(string) 또는
| 렉시 |
string.upper() | 파이톤 |
upcase(string) | 기본 선택 |
string.upcase | 루비[35] |
strings.ToUpper(string) | 가다 |
(string-upcase string) | 스키마, 커먼 리스프 |
String.uppercase string | OCAML |
String.map Char.toUpper string | 표준 ML |
map Char.toUpper string | 하스켈 |
string.toUpperCase() | 자바, 자바스크립트 |
to_upper(string) | 얼랑 |
string.ToUpper() | VB .NET, C#, 윈도우즈 PowerShell, F# |
string.uppercaseString | 목표-C (NSString * 전용), Swift(건국) |
string.upper(string) | 루아 |
string asUppercase | 스몰토크 |
UPPER(string) | SQL |
ToUpperCase[string] | 매스매티카 |
«FUNCTION» UPPER-CASE(string) | 코볼 |
string.toUpper | 코브라 |
string toupper string | Tcl |
string.to_uppercase() | 녹[51] |
// C#의 예 "위키는 빠르다는 뜻인가?".토우퍼(); // "WIKI SHANCE FAST?"
# 펄 5의 예 uc("위키는 빠르다는 뜻인가?"); # "WIKI SHANGE FAST?"
# 라쿠 uc("위키는 빠르다는 뜻?";; # "WIKI MANS FAST?" "WIKI MANS FAST?".uc; # "WIKI MEANS FAST?"
/* Rexx */번역의 예("위키는 빠르다는 뜻인가?") /* "WIKI MEANS FAST?" */* 예시 #2 */ A='이 예시 입니다.' UPER A /* "이것은 예시입니다." */* 예시 #3 */ A='번역함수를 사용하는 '위퍼' 상부 VAR A Z /* Z="번역 함수를 이용한 상부" */
; 구성표 예 (중고품인 (srfi srfi-13)) (스트링업케이스 "위키는 빠르다는 뜻인가?") ; "WIKI MERS Fast?"
' Visual Basic의 예 UCase("위키는 빠르다는 뜻인가?") 'WIKI SHANGE FAST?'
다듬다
trim
또는 문자열의 시작, 끝 또는 시작과 끝에서 공백을 제거하는 데 사용된다.
사용 예 | 언어들 |
---|---|
String.Trim([chars]) | C#, VB.NET, 윈도우즈 PowerShell |
string.strip(); | D |
(.trim string) | 클로저 |
sequence [ predicate? ] trim | 요인 |
(string-trim '(#\Space #\Tab #\Newline) string) | 커먼 리스프 |
(string-trim string) | 계략 |
string.trim() | Java, JavaScript(1.8.1+, Firefox 3.5+), 러스트[52] |
Trim(String) | 파스칼,[53] QBasic, Visual Basic, Delphi |
string.strip() | 파이톤 |
strings.Trim(string, chars) | 가다 |
LTRIM(RTRIM(String)) | Oracle SQL, T-SQL |
strip(string [,option, char]) | REXX |
string:strip(string [,option, char]) | 얼랑 |
string.strip or string.lstrip or string.rstrip | 루비 |
string.trim | 라쿠 |
trim(string) | PHP, 라쿠 |
[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] | 코코아를 이용한 목표-C |
string withBlanksTrimmed | 스몰토크 (스퀘이크, 파로) 스몰토크 |
strip(string) | SAS |
string trim $string | Tcl |
TRIM(string) or TRIM(ADJUSTL(string)) | 포트란 |
TRIM(string) | SQL |
TRIM(string) or LTrim(string) or RTrim(String) | 콜드퓨전 |
String.trim string | OCaml 4+ |
다른 언어
트림 기능이 내장되지 않은 언어에서는 대개 동일한 작업을 수행하는 사용자 정의 함수를 만드는 것이 간단하다.
APL
APL은 정규식을 직접 사용할 수 있다.
다듬다←'^ + +