"함수 substring()"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 5개는 보이지 않습니다)
1번째 줄: 1번째 줄:
[[category: String]]
[[분류: 부분문자열]]
 
==Overview==
==Overview==
;substr
;substr
13번째 줄: 12번째 줄:
==Bash==
==Bash==
[[category: Bash]]
[[category: Bash]]
<source lang='bash'>
<syntaxhighlight lang='bash'>
STR=abcdefg
STR=abcdefg


22번째 줄: 21번째 줄:
echo ${STR:3}
echo ${STR:3}
# defg
# defg
</source>
</syntaxhighlight>
<source lang='bash'>
<syntaxhighlight lang='bash'>
STR=abcdefg
STR=abcdefg


31번째 줄: 30번째 줄:
echo $STR | cut -c 4-
echo $STR | cut -c 4-
# defg
# defg
</source>
</syntaxhighlight>


==C++==
==C++==
{{참고|C++ substr()}}
{{참고|C++ substr()}}
<source lang='cpp'>
<syntaxhighlight lang='cpp'>
#include <iostream>
#include <iostream>
using namespace std;
using namespace std;
45번째 줄: 44번째 줄:
cout << sub2 << endl; // ghijk
cout << sub2 << endl; // ghijk
}
}
</source>
</syntaxhighlight>


==C#==
==C#==
[[category: Csharp]]
[[category: Csharp]]
<source lang="csharp">
<syntaxhighlight lang="csharp">
string str = "abcdefghijk";
string str = "abcdefghijk";


57번째 줄: 56번째 줄:
sub = str.Substring(6);
sub = str.Substring(6);
// ghijk
// ghijk
</source>
</syntaxhighlight>


==Erlang==
==Erlang==
[[category: Erlang]]
[[category: Erlang]]
<source lang="php">
<syntaxhighlight lang="php">
string:substr("abc", 2, 1). %  returns "b"
string:substr("abc", 2, 1). %  returns "b"
string:substr("abc", 2).    %  returns "bc"
string:substr("abc", 2).    %  returns "bc"
</source>
</syntaxhighlight>


==Excel==
==Excel==
[[category: Excel]]
[[category: Excel]]
<source lang='php'>
<syntaxhighlight lang='php'>
=MID("hello",1,2)
=MID("hello",1,2)
// he
// he
75번째 줄: 74번째 줄:
=MID("hello",3,2)
=MID("hello",3,2)
// ll
// ll
</source>
</syntaxhighlight>
 
==Go==
{{참고|Go 문자열 슬라이싱}}


==Java==
==Java==
[[category: Java]]
[[category: Java]]
<source lang="java">
<syntaxhighlight lang="java">
System.out.println( "abcdefghijk".substring(2) ); // "cdefghijk"
System.out.println( "abcdefghijk".substring(2) ); // "cdefghijk"
System.out.println( "abcdefghijk".substring(3) ); // "defghijk"
System.out.println( "abcdefghijk".substring(3) ); // "defghijk"
86번째 줄: 88번째 줄:
System.out.println( "abcdefghijk".substring(4, 8) ); // "efgh"
System.out.println( "abcdefghijk".substring(4, 8) ); // "efgh"
System.out.println( "abcdefghijk".substring(1, 5) ); // "bcde"
System.out.println( "abcdefghijk".substring(1, 5) ); // "bcde"
</source>
</syntaxhighlight>


==JavaScript==
==JavaScript==
[[category: JavaScript]]
[[category: JavaScript]]
<source lang='javascript'>
<syntaxhighlight lang='javascript'>
console.log( "Hello world!".substr(2,3) ); // llo
console.log( "Hello world!".substr(2,3) ); // llo
</source>
</syntaxhighlight>
<source lang='javascript'>
<syntaxhighlight lang='javascript'>
var str = "A가★あ中!";
var str = "A가★あ中!";
var output = str.substr(2,3);
var output = str.substr(2,3);
document.write(output); // ★あ中
document.write(output); // ★あ中
</source>
</syntaxhighlight>
<source lang='javascript'>
<syntaxhighlight lang='javascript'>
console.log( "Hello world!".substring(2,3) ); // l
console.log( "Hello world!".substring(2,3) ); // l
</source>
</syntaxhighlight>


==Lua==
==Lua==
[[분류: Lua]]
[[분류: Lua]]
<source lang='Lua'>
<syntaxhighlight lang='Lua'>
print( string.sub("hello, world", 2, 4) )
print( string.sub("hello, world", 2, 4) )
-- ell
-- ell
113번째 줄: 115번째 줄:
print( string.sub("hello, world", -4, -3) )
print( string.sub("hello, world", -4, -3) )
-- or
-- or
</source>
</syntaxhighlight>


==PHP==
==PHP==
[[category: PHP]]
[[category: PHP]]
<source lang="php">
<syntaxhighlight lang="php">
echo substr('hello world', 1);    // ello world
echo substr('hello world', 1);    // ello world
echo substr('hello world', 3);    // lo world
echo substr('hello world', 3);    // lo world
133번째 줄: 135번째 줄:
echo substr('hello world', 4, -4);  // false
echo substr('hello world', 4, -4);  // false
echo substr('hello world', -3, -1); // rl
echo substr('hello world', -3, -1); // rl
</source>
</syntaxhighlight>
<source lang='php'>
<syntaxhighlight lang='php'>
$str = "A가★あ中!@";
$str = "A가★あ中!@";
$output = mb_substr($str,2,3,'UTF-8');
$output = mb_substr($str,2,3,'UTF-8');
echo $output; // ★あ中
echo $output; // ★あ中
</source>
</syntaxhighlight>
<source lang='php'>
<syntaxhighlight lang='php'>
function utf8_substr($str, $start, $len=-1) {
function utf8_substr($str, $start, $len=-1) {
   if($len==-1)$len = mb_strlen($str, 'UTF-8')-$start;
   if($len==-1)$len = mb_strlen($str, 'UTF-8')-$start;
147번째 줄: 149번째 줄:
$output = utf8_substr($str,2,3);
$output = utf8_substr($str,2,3);
echo $output; // ★あ中
echo $output; // ★あ中
</source>
</syntaxhighlight>


== Perl ==
== Perl ==
[[category: Perl]]
[[category: Perl]]
<source lang="perl">
<syntaxhighlight lang="perl">
print substr 'hello world', 1 . "\n";    # ello world
print substr 'hello world', 1 . "\n";    # ello world
print substr 'hello world', 3 . "\n";    # lo world
print substr 'hello world', 3 . "\n";    # lo world
167번째 줄: 169번째 줄:
print substr 'hello world', 4, -4 . "\n";  # false
print substr 'hello world', 4, -4 . "\n";  # false
print substr 'hello world', -3, -1 . "\n"; # rl
print substr 'hello world', -3, -1 . "\n"; # rl
</source>
</syntaxhighlight>


==Python==
==Python==
[[category: Python]]
[[category: Python]]
<source lang="python">
<syntaxhighlight lang="python">
"abc"[1:2]                #  returns "b"
"abc"[1:2]                #  returns "b"
"abc"[1:3]                #  returns "bc"
"abc"[1:3]                #  returns "bc"
</source>
</syntaxhighlight>


==R==
==R==
[[분류: R]]
[[분류: R]]
<source lang='r'>
{{참고|R substring()}}
substr("hello",1,2)
{{참고|R substr()}}
## [1] "he"
<syntaxhighlight lang='r'>
substr("hello",1,4)
substring("abcdefghijk",5,6)
## [1] "hell"
## [1] "ef"
substr("hello",3,4)
substr("abcdefghijk",5,6)
## [1] "ll"
## [1] "ef"
</source>
 
substring("abcdefghijk",7)
## [1] "ghijk"
#substr("abcdefghijk",7)
</syntaxhighlight>


==REXX==
==REXX==
[[category: Rexx]]
[[category: Rexx]]
<source lang="php">
<syntaxhighlight lang="php">
substr("abc", 2, 1)        /* returns "b"      */
substr("abc", 2, 1)        /* returns "b"      */
substr("abc", 2)            /* returns "bc"    */
substr("abc", 2)            /* returns "bc"    */
substr("abc", 2, 6)        /* returns "bc    " */
substr("abc", 2, 6)        /* returns "bc    " */
substr("abc", 2, 6, "*")    /* returns "bc****" */
substr("abc", 2, 6, "*")    /* returns "bc****" */
</source>
</syntaxhighlight>


==SQL==
==SQL==
201번째 줄: 207번째 줄:
[[category: MySQL]]
[[category: MySQL]]
[[category: MariaDB]]
[[category: MariaDB]]
<source lang='MySQL'>
<syntaxhighlight lang='MySQL'>
SELECT MID( "abcdefghijk", 5, 2 );
SELECT MID( "abcdefghijk", 5, 2 );
SELECT SUBSTR( "abcdefghijk", 5, 2 );
SELECT SUBSTR( "abcdefghijk", 5, 2 );
SELECT SUBSTRING( "abcdefghijk", 5, 2 );
SELECT SUBSTRING( "abcdefghijk", 5, 2 );
# ef
# ef
</source>
</syntaxhighlight>
<source lang='MySQL'>
<syntaxhighlight lang='MySQL'>
SELECT MID( "abcdefghijk", 7);
SELECT MID( "abcdefghijk", 7);
SELECT SUBSTR( "abcdefghijk", 7);
SELECT SUBSTR( "abcdefghijk", 7);
SELECT SUBSTRING( "abcdefghijk", 7);
SELECT SUBSTRING( "abcdefghijk", 7);
# ghijk
# ghijk
</source>
</syntaxhighlight>
<source lang='MySQL'>
<syntaxhighlight lang='MySQL'>
SELECT MID('감사합니다', 1,2);
SELECT MID('감사합니다', 1,2);
SELECT SUBSTR('감사합니다', 1,2);
SELECT SUBSTR('감사합니다', 1,2);
SELECT SUBSTRING('감사합니다', 1,2);
SELECT SUBSTRING('감사합니다', 1,2);
# 감사
# 감사
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==
231번째 줄: 237번째 줄:
* [[함수 substr_from()]]
* [[함수 substr_from()]]
* [[함수 substr_until()]]
* [[함수 substr_until()]]
* [[함수 rotateString()]]
* [[리눅스 cut]]
* [[리눅스 cut]]
* [[SQL 함수]]
* [[SQL 함수]]

2023년 9월 17일 (일) 13:41 기준 최신판

1 Overview[ | ]

substr
Substring
Definition
substring(string, startpos, endpos) returns string
substr(string, startpos, numChars) returns string
Description
Returns a substring of string between starting at startpos and endpos, or starting at startpos of length numChars. The resulting string is truncated if there are fewer than numChars characters beyond the starting point. endpos represents the index after the last character in the substring.

2 Bash[ | ]

STR=abcdefg

SUB=${STR:3:2}
echo $SUB
# de

echo ${STR:3}
# defg
STR=abcdefg

echo $STR | cut -c 4-5
# de

echo $STR | cut -c 4-
# defg

3 C++[ | ]

#include <iostream>
using namespace std;
int main() {
	string str = "abcdefghijk";
	string sub1 = str.substr(4,2);
	cout << sub1 << endl; // ef
	string sub2 = str.substr(6); 
	cout << sub2 << endl; // ghijk
}

4 C#[ | ]

string str = "abcdefghijk";

string sub = str.Substring(4, 2);
// ef

sub = str.Substring(6);
// ghijk

5 Erlang[ | ]

string:substr("abc", 2, 1). %  returns "b"
string:substr("abc", 2).    %  returns "bc"

6 Excel[ | ]

=MID("hello",1,2)
// he
=MID("hello",1,4)
// hell
=MID("hello",3,2)
// ll

7 Go[ | ]

8 Java[ | ]

System.out.println( "abcdefghijk".substring(2) ); // "cdefghijk"
System.out.println( "abcdefghijk".substring(3) ); // "defghijk"
System.out.println( "abcdefghijk".substring(11) ); // ""

System.out.println( "abcdefghijk".substring(4, 8) ); // "efgh"
System.out.println( "abcdefghijk".substring(1, 5) ); // "bcde"

9 JavaScript[ | ]

console.log( "Hello world!".substr(2,3) ); // llo
var str = "A가★あ中!";
var output = str.substr(2,3);
document.write(output); // ★あ中
console.log( "Hello world!".substring(2,3) ); // l

10 Lua[ | ]

print( string.sub("hello, world", 2, 4) )
-- ell
print( string.sub("hello, world", 4) )
-- lo, world
print( string.sub("hello, world", -4) )
-- orld
print( string.sub("hello, world", -4, -3) )
-- or

11 PHP[ | ]

echo substr('hello world', 1);     // ello world
echo substr('hello world', 3);     // lo world

echo substr('hello world', 7, 2);  // or
echo substr('hello world', 7, 8);  // orld

echo substr('hello world', -1);    // d
echo substr('hello world', -2);    // ld
echo substr('hello world', -2, 1); // l
echo substr('hello world', -3, 2); // rl

echo substr('hello world', 0, -1);  // hello worl
echo substr('hello world', 2, -1);  // llo worl
echo substr('hello world', 4, -4);  // false
echo substr('hello world', -3, -1); // rl
$str = "A가★あ中!@";
$output = mb_substr($str,2,3,'UTF-8');
echo $output; // ★あ中
function utf8_substr($str, $start, $len=-1) {
  if($len==-1)$len = mb_strlen($str, 'UTF-8')-$start;
  return mb_substr($str, $start, $len, 'UTF-8');
}
$str = "A가★あ中!@";
$output = utf8_substr($str,2,3);
echo $output; // ★あ中

12 Perl[ | ]

print substr 'hello world', 1 . "\n";     # ello world
print substr 'hello world', 3 . "\n";     # lo world

print substr 'hello world', 7, 2 . "\n";  # or
print substr 'hello world', 7, 8 . "\n";  # orld

print substr 'hello world', -1 . "\n";    # d
print substr 'hello world', -2 . "\n";    # ld
print substr 'hello world', -2, 1 . "\n"; # l
print substr 'hello world', -3, 2 . "\n"; # rl

print substr 'hello world', 0, -1 . "\n";  # hello worl
print substr 'hello world', 2, -1 . "\n";  # llo worl
print substr 'hello world', 4, -4 . "\n";  # false
print substr 'hello world', -3, -1 . "\n"; # rl

13 Python[ | ]

"abc"[1:2]                 #  returns "b"
"abc"[1:3]                 #  returns "bc"

14 R[ | ]

substring("abcdefghijk",5,6)
## [1] "ef"
substr("abcdefghijk",5,6)
## [1] "ef"

substring("abcdefghijk",7)
## [1] "ghijk"
#substr("abcdefghijk",7)

15 REXX[ | ]

substr("abc", 2, 1)         /* returns "b"      */
substr("abc", 2)            /* returns "bc"     */
substr("abc", 2, 6)         /* returns "bc    " */
substr("abc", 2, 6, "*")    /* returns "bc****" */

16 SQL[ | ]

16.1 MySQL/MariaDB[ | ]

SELECT MID( "abcdefghijk", 5, 2 );
SELECT SUBSTR( "abcdefghijk", 5, 2 );
SELECT SUBSTRING( "abcdefghijk", 5, 2 );
# ef
SELECT MID( "abcdefghijk", 7);
SELECT SUBSTR( "abcdefghijk", 7);
SELECT SUBSTRING( "abcdefghijk", 7);
# ghijk
SELECT MID('감사합니다', 1,2);
SELECT SUBSTR('감사합니다', 1,2);
SELECT SUBSTRING('감사합니다', 1,2);
# 감사

17 같이 보기[ | ]

18 References[ | ]