プãƒã‚°ãƒ©ãƒ 言語 標準関数(テã‚スト系)
目次
入出力
入力
my $str = <STDIN>
my @str = ();
for my $inpcnt (0..2){
 $str[$inpcnt] = <STDIN>;
 chomp $str[$inpcnt];
}
出力
※メッセージã®ã¿
MessageBox.Show(text: "Hello");
※+ã‚ャプション(Window上部)
MessageBox.Show(
  text: "Hello",
  caption: "caption");
※+ボタン
MessageBox.Show(
  text: "Hello",
  caption: "caption",
  buttons:MessageBoxButtons.YesNoCancel);
MessageBoxButtons列挙体メンãƒãƒ¼ä¸€è¦§
OK
「OKã€ãƒœã‚¿ãƒ³ã®ã¿ã€‚
OKCancel
「OKã€/「ã‚ャンセルã€ãƒœã‚¿ãƒ³ã€‚
AbortRetryIgnore
ã€Œä¸æ¢ã€/「å†è©¦è¡Œã€/「無視ã€ãƒœã‚¿ãƒ³ã€‚メッセージボックスã®é–‰ã˜ã‚‹ãƒœã‚¿ãƒ³ãŒç„¡åŠ¹ã€‚
YesNoCancel
「ã¯ã„ã€/「ã„ã„ãˆã€/「ã‚ャンセルã€ãƒœã‚¿ãƒ³ã€‚
YesNo
「ã¯ã„ã€/「ã„ã„ãˆã€ãƒœã‚¿ãƒ³ã€‚メッセージボックスã®é–‰ã˜ã‚‹ãƒœã‚¿ãƒ³ãŒç„¡åŠ¹ã€‚
RetryCancel
「å†è©¦è¡Œã€/「ã‚ャンセルã€ãƒœã‚¿ãƒ³ã€‚
※ボタンæ“ä½œçµæžœã‚’å–å¾—
DialogResult answer = MessageBox.Show(text: "Hello",
  caption: "caption",
  buttons:MessageBoxButtons.YesNoCancel);
if (answer == DialogResult.Yes)
{
  ~
}
※+アイコン
MessageBox.Show(text: "Hello",
  caption: "caption",
  buttons: MessageBoxButtons.YesNoCancel,
  icon:MessageBoxIcon.Information);
MessageBoxIcon列挙体メンãƒä¸€è¦§
None
アイコンãªã—
音:一般è¦å‘ŠéŸ³
Hand
赤丸ã«ç™½ã„X(åœæ¢ãƒžãƒ¼ã‚¯)。
音:システムエラー
Question
丸ã„å¹ã出ã—ã«ç–‘å•符記å·ã€‚
音:メッセージ(å•ã„åˆã‚ã›)
Exclamation
黄色ã„ä¸‰è§’ã«æ„Ÿå˜†ç¬¦è¨˜å·ã€‚
音:メッセージ(è¦å‘Š)
Asterisk
丸ã„å¹ã出ã—ã«ã€Œiã€ã€‚
音:メッセージ(æƒ…å ±)
Stop
Handã¨åŒã˜ã€‚
Error
Handã¨åŒã˜ã€‚
Warning
Exclamationã¨åŒã˜ã€‚
Information
Asteriskã¨åŒã˜ã€‚
std::cout << 5 << '\n';
std::cout << 5 << std::endl;
MessageBox.Show(text:="Hello")
※+ã‚ャプション(Window上部)
MessageBox.Show(text:="Hello",
  caption:="caption")
※+ボタン
MessageBox.Show(text:="Hello",
  caption:="caption",
  buttons:=MessageBoxButtons.YesNoCancel)
  
※MessageBoxIcon列挙体メンãƒä¸€è¦§ã¯ã€ŒC#ã€å‚ç…§
※ボタンæ“ä½œçµæžœã‚’å–å¾—
Dim answer As DialogResult = MessageBox.Show(text:="Hello",
  caption:="caption",
  buttons:=MessageBoxButtons.YesNoCancel)
If answer = DialogResult.Yes Then
  ~
End If
※+アイコン
MessageBox.Show(text:="Hello",
  caption:="caption",
  buttons:=MessageBoxButtons.YesNoCancel,
  icon:=MessageBoxIcon.Information)
  
MessageBoxIcon列挙体メンãƒä¸€è¦§ã¯ã€ŒC#ã€å‚ç…§
#標準出力
print "test";
print "test\n";
print "test","\n";
my $es = "es";
print "t",$es,"t","/n"
print "t$est","/n"
⇒test
say
#æ¨™æº–å‡ºåŠ›ã€‚è‡ªå‹•ã§æ”¹è¡Œã•れる。
say "test";
⇒test
テã‚ストæ“作
StringBulder
Stringåž‹ã®å¤‰æ•°ã«ãƒªãƒ†ãƒ©ãƒ«ã‚’æ ¼ç´ã™ã‚‹å ´åˆã€
変数ã€ãƒªãƒ†ãƒ©ãƒ«ä¸¡æ–¹ã®ãƒ¡ãƒ¢ãƒªé ˜åŸŸã‚’å¿…è¦ã¨ã™ã‚‹ã€‚
変数ã«åˆ¥ã®ãƒªãƒ†ãƒ©ãƒ«ã‚’æ ¼ç´ã™ã‚‹ç‚ºã«ã¯æ›´ã«åˆ¥ã®ãƒªãƒ†ãƒ©ãƒ«ç”¨ã®ãƒ¡ãƒ¢ãƒªé ˜åŸŸã‚‚å¿…è¦ã§éžåŠ¹çŽ‡ã€‚
String s;
s = "aaa"
s = "bbb"
※"aaa" 㨠"bbb" ã¯åˆ¥ã®ãƒ¡ãƒ¢ãƒªé ˜åŸŸ
※"aaa" ã¯ã©ã“ã‹ã‚‰ã‚‚å‚ç…§ã•れる事ãªãç„¡é§„ã«æ®‹ã‚Šç¶šã‘る。
メモリã«é–¢ã—ã¦åŠ¹çŽ‡è‰¯ãæ–‡å—列を管ç†ã™ã‚‹ç‚ºã®ã‚¯ãƒ©ã‚¹ãŒStringBuilder
内部ã§ã¯charåž‹é…列ã®çµ„ã¿åˆã‚ã›ã‚’外部ã‹ã‚‰ã¯Stringåž‹ã®æ§˜ã«åˆ©ç”¨ã§ãる。
Stringåž‹ã®å€¤ã‚’é »ç¹ã«æ›¸ãæ›ãˆã‚‹å¿…è¦ãŒã‚ã‚‹å ´åˆã«ä½¿ç”¨ã€‚
sb : aa
sb.toString() : aa
sb.capacity() : 18;
//16æ–‡å—分ã®é…列ã®ãƒãƒƒãƒ•ã‚¡ + aa(2æ–‡å—)分ã®é…列ã®ãƒãƒƒãƒ•ã‚¡
sb.append("bb");
// sb : aabb
sb.append("cc");
// sb : aabbcc
sb.insert(2, "dd");
// index : 0a1a2b3b4c5c6
// sb : aaddbbcc
sb.delete(4, 6);
// index : 0a1a2d3d4b5b6c7c8
// sb : aaddcc
sb.deleteCharAt(0);
sb.deleteCharAt(0);
// sb : ddcc
sb.reverse();
// sb : ccdd
sb.replace(1,3, "zz");
// sb : czzd
//メソッドãƒã‚§ãƒ¼ãƒ³ã«ã‚ˆã‚‹è¨˜è¿°ã‚‚å¯
sb.append("cc").insert(0, "ee");
複写
using namespace std;
char c[50];
è¦ç´ æ•°ãŒå®šç¾©ã•れã¦ã„ã‚‹æ–‡å—é…列ã«ã‚³ãƒ”ー
strcpy_s(c, 50, "VisualC++");
cout << c << '\n';
→VisualC++
↓ ã‚‚å¯(è¦ç´ æ•°çœç•¥)
strcpy_s(c, "VisualC++");
cout << c << '\n';
→VisualC++
char *myStr = "VisualC++";
char c[50];
strcpy_s(c, 50, myStr);
cout << c << '\n';
→VisualC++
char c*;
strcpy_s(c, "VisualC++");
→コンパイルエラー
strcpy_s(c, ?, myStr);
コピー先ã®ã‚µã‚¤ã‚ºãŒæœªå®šã®ç‚º
char temp[50] = "VisualC++";
char *c = temp;
strcpy_s(c, 50, "VisualC++");
cout << c << '\n';
→VisualC++
è¦ç´ æ•°ãŒå›ºå®šã•れã¦ã„ã‚‹ã®ã§â—‹
æŒ‡å®šã®æ–‡å—数分ã®ã¿è¤‡å†™
æ–‡å—é…列ã«å¯¾ã—ã¦ã®ã¿è¤‡å†™å¯èƒ½(ãƒã‚¤ãƒ³ã‚¿ä¸å¯)
char before[] = "VisualC++";
char after[10];
strncpy_s(after, before, 3);
cout << after << '\n';
→Vis
strncpy_s(after, before, _countof(after)-1);
cout << after << '\n';
→VisualC++
strncpy_s(after, before, 20);
→実行時エラー
ãƒã‚¤ãƒ³ã‚¿ã«è¤‡å†™ã¯ä¸å¯
char *before = "VisualC++";
char *after = " ";
strncpy_s(after, before, 5);
→コンパイルエラー
char *before = "VisualC++";
char temp[10];
char *after = temp;
strncpy_s(after, before, 5);
→コンパイルエラー
è¿½åŠ (çµåˆ)
newStr:AAABBBCCC
int a = 123;
string b = @"BBB";
string c = @"CCC";
string str = string.Join(",", a, b, c);
str:123,BBB,CCC
char *before2 = "VisualC#";
char after[50];
strncpy_s(after, before1, _countof(after));
è¦ç´ æ•°ãŒå®šç¾©ã•れã¦ã„ã‚‹æ–‡å—é…åˆ—ã®æœ«å°¾ã«è¿½åŠ
strcat_s(after, before2);
cout << after << '\n';
→VisualC++VisualC#
strncpy_s(after, before1, 6);
è¦ç´ æ•°ãŒå®šç¾©ã•れã¦ã„ã‚‹æ–‡å—é…åˆ—ã®æœ«å°¾ã«æŒ‡å®šæ•°æ–‡å—数分追åŠ
strncat_s(after, before2, 6);
cout << after << '\n';
→VisualVisual
$s2 = "bbb";
$s = $s1 . $s2;
$s .= "ccc";
→ aaabbbccc
$before = [‘a’, ‘b’, ‘c’];
$after = implode(“,”, $before);
→’a,b,c’
print(s)
# aaabbbccc
s = 'aaa'
s += 'bbb'
s += 'ccc'
print(s)
# aaabbbccc
s = 'aaa'\
  'bbb'\
  'ccc'
print(s)
# aaabbbccc
print(1 + '1') # エラー
print(str(1) + '1') # 11
比較
Stringåž‹ã¯åŸºæœ¬åž‹ã§ã¯ãªãã€å‚照型。
(「プãƒã‚°ãƒ©ãƒ 言語 変数/データ型ã€å‚ç…§)
string s2 = "TEST";
"TEST" ã¨ã„ã†ãƒªãƒ†ãƒ©ãƒ«ãŒãƒ¡ãƒ¢ãƒªé ˜åŸŸã«ä½œæˆã•れã€
s1ã€s2ã¨ã‚‚ãã“ã‚’å‚ç…§ã™ã‚‹ã€‚
// å‚ç…§å€¤ã®æ¯”較
bool ret1 = (s1 == s2);
⇒ ret1 : true
// æ–‡å—åˆ—ã®æ¯”較
bool ret2 = s1.Equals(s2);
⇒ ret2 : true
string s3 = new string ("TEST");
string s4 = new string ("TEST");
"TEST" ã¨ã„ã†ãƒªãƒ†ãƒ©ãƒ«ãŒï¼’ã¤ãƒ¡ãƒ¢ãƒªé ˜åŸŸã«ä½œæˆã•れã€
s1ã€s2ãれãžã‚Œåˆ¥ã®ãƒ¡ãƒ¢ãƒªé ˜åŸŸã‚’å‚ç…§ã™ã‚‹ã€‚
// å‚ç…§å€¤ã®æ¯”較
bool ret3 = (s3 == s4);
⇒ ret3 : false
// æ–‡å—åˆ—ã®æ¯”較
bool ret4 = s3.Equals(s4);
⇒ ret4 : true
char myChar2[] = "VisualC#";
int result;
result = strcmp(myChar1, myChar2);
result:1
char myChar1[] = "VisualC++";
char myChar2[] = "VisualC++";
result = strcmp(myChar1, myChar2);
result:0
char *myChar1 = "VisualC++";
char *myChar2 = "VisualC#";
result = strcmp(myChar1, myChar2);
ãƒã‚¤ãƒ³ã‚¿OK
result:1
æŒ‡å®šæ–‡å—æ•°åˆ†ã®æ¯”較
result = strncmp(myChar1, myChar2, 6);
result:0
//⇒bool : false;
bool = x.Equals(x)
//⇒bool : true;
String s2 = "TEST";
"TEST" ã¨ã„ã†ãƒªãƒ†ãƒ©ãƒ«ãŒãƒ¡ãƒ¢ãƒªé ˜åŸŸã«ä½œæˆã•れã€
s1ã€s2ã¨ã‚‚ãã“ã‚’å‚ç…§ã™ã‚‹ã€‚
// å‚ç…§å€¤ã®æ¯”較
Boolean ret1 = (s1 == s2);
⇒ ret1 : true
// æ–‡å—åˆ—ã®æ¯”較
Boolean ret2 = s1.equals(s2);
⇒ ret2 : true
String s3 = new String("TEST");
String s4 = new String("TEST");
"TEST" ã¨ã„ã†ãƒªãƒ†ãƒ©ãƒ«ãŒï¼’ã¤ãƒ¡ãƒ¢ãƒªé ˜åŸŸã«ä½œæˆã•れã€
s1ã€s2ãれãžã‚Œåˆ¥ã®ãƒ¡ãƒ¢ãƒªé ˜åŸŸã‚’å‚ç…§ã™ã‚‹ã€‚
// å‚ç…§å€¤ã®æ¯”較
Boolean ret3 = (s3 == s4);
⇒ ret3 : false
// æ–‡å—åˆ—ã®æ¯”較
Boolean ret4 = s3.equals(s4);
⇒ ret4 : true
String myStr = "abc";
Boolean a = myStr.startsWith("a");
⇒true
Boolean b = myStr.startsWith("b");
⇒false
Boolean c = myStr.startsWith("c", 2);
⇒true
検索(判定・ä½ç½®)
bool:true
bool ret = "12345".All(x => x == 'x');
ret : false
string s = "123456789";
int index = s.indexOf("1");
⇒ index : 0
int index = s.indexOf("2");
⇒ index : 1
int index = s.indexOf("0");
⇒ index : -1
char myChar2[] = "VisualC#";
char *result;
検索ã—ãŸæ–‡å—ãŒæœ€åˆã«ç¾ã‚Œã‚‹ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’å–å¾—
result = strchr(myChar1, 'C');
ãƒã‚¤ãƒ³ã‚¿OK。
result:C++
result = strchr(myChar2, 'C');
result:C#
検索ã—ãŸæ–‡å—åˆ—ãŒæœ€åˆã«ç¾ã‚Œã‚‹ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’å–å¾—
result = strstr(myChar1, "C");
ãƒã‚¤ãƒ³ã‚¿OK。
result:C++
result = strstr(myChar2, "C");
result:C#
Dim index As Integer = s.IndexOf("1")
⇒ index : 0
Dim index As Integer = s.IndexOf("2")
⇒ index : 1
Dim index As Integer = s.IndexOf("0")
⇒ index : -1
if ($pos !== false) {
 echo $pos;
 →10
}
print('a' in 'abcde') #true
print('z' in 'abcde') #true
#é–‹å§‹ã™ã‚‹ã‹ï¼Ÿã®åˆ¤å®š
print('abcde'.startswith('a')) #true
print('abcde'.startswith('e')) #false
#終了ã™ã‚‹ã‹ï¼Ÿã®åˆ¤å®š
print('abcde'.endswith('a')) #false
print('abcde'.endswith('e')) #true
#é–‹å§‹ä½ç½®
print('abcabc'.find('a')) #0(å…ˆé ä½ç½®)
print('abcabc'.find('e')) #-1
print('abcabcabc'.rfind('a')) #6(最終ä½ç½®)
print('abcabcabc'.rfind('e')) #-1
print('abcabc'.index('a')) #0(å…ˆé ä½ç½®)
print('abcabc'.index('e')) #エラー
print('abcabcabc'.rindex('a')) #6(最終ä½ç½®)
print('abcabcabc'.rindex('e')) #エラー
isnumeric=str.isnumeric()
isdecimal=str.isdecimal()
isdigit=str.isdigit()
isalpha=str.isalpha()
isalnum=str.isalnum()
islower=str.islower()
isupper=str.isupper()
isnumeric | isdecimal | isdigit | isalpha | isalnum | islower | isupper | |
---|---|---|---|---|---|---|---|
111 | True | True | True | False | True | False | False |
111 | True | True | True | False | True | False | False |
一壱 | True | False | False | True | True | False | False |
Aa | False | False | False | True | True | False | False |
aa | False | False | False | True | True | True | False |
AA | False | False | False | True | True | False | True |
ï¼¡ï½ | False | False | False | True | True | False | False |
ï½ï½ | False | False | False | True | True | True | False |
AA | False | False | False | True | True | False | True |
アア | False | False | False | True | True | False | False |
ã‚亜 | False | False | False | True | True | False | False |
#! | False | False | False | False | False | False | False |
var index = s.indexOf("1");
⇒ index : 0
var index = s.indexOf("2");
⇒ index : 1
var index = s.indexOf("0");
⇒ index : -1
ç½®æ›
String after = before.Replace(oldValue:"c", newValue:"");
⇒ after : abde
Dim after As String = before.Replace("c","")
⇒ after : abde
String myAfter = myBefore.replace("AA","BB");
⇒myAfter : BBBBA
String myAfter = myBefore.replace('AA','BB');
⇒コンパイルエラー
String myAfter = myBefore.replace("AA",'B');
⇒コンパイルエラー
String myAfter = myBefore.replace('A','B');
⇒myAfter : BBBBB
æ£è¦è¡¨ç¾ã‚’用ã„ãŸç½®æ›(replaceAll)
ç½®æ›å¾Œæ–‡å—列 = ç½®æ›å¯¾è±¡(ç½®æ›å‰)æ–‡å—列.replaceAll("æ£è¦è¡¨ç¾æ–‡å—列", "ç½®æ›ã™ã‚‹æ–‡å—列");
String myStr = "AAAABBBBCCCC";
String newStr = myStr.replaceAll(".", "Z");
⇒newStr : ZZZZZZZZZZZZ
$after = str_replace("bbb", "zzz", "aaabbbccc");
$after:"aaazzzccc"
検索語をé…列ã§è¤‡æ•°æŒ‡å®š
$search = array("aaa","bbb","ccc");
$search = array("\r\n","\r","\n"); ã§æ”¹è¡Œã‚³ãƒ¼ãƒ‰ã‚’指定å¯
$after = str_replace($search, "zzz", "aaabbbccc");
$after:"zzzzzzzzz"
$search = array("aaa", "bbb", "ccc");
$replace = array("AAA", "BBB", "CCC");
$after = str_replace($search, $replace, "aaabbbccc");
$after:"AAABBBCCC"
$search = array("aaa", "bbb", "ccc");
$replace = array("AAA", "BBB");
ç½®æ›æ–‡å—列ãŒã€æ¤œç´¢å¯¾è±¡ã‚ˆã‚Šå°‘ãªã„
$after = str_replace($search, $replace, "aaabbbccc");
$after:"AAABBB"
空文å—ã§ç½®æ›ã•れる
echo str_replace("\r\n", "<br>", "~<br>~")
→
~\r\n
~
ã€æ£è¦è¡¨ç¾ã‚’用ã„ãŸç½®æ›ã€‘
$ret = preg_replace( 検索, ç½®æ›, 対象);
$ret = preg_replace( '/æ£è¦è¡¨ç¾/', ~, ~);
$ret = preg_replace( '/(\s| )/', '', ' aa a ');
→aaa
ã€htmlã¸ã®ç½®æ›ã€‘
XHTML
echo nl2br("~\r\n~");
→
~<br />
~
éžXHTML
echo nl2br("~\r\n~", false);
→
~<br>
~
々ã¸ã®ç½®æ›ã€‘
$ret = $text->truncate(
 aaaaaaaaaa,
 5,
 array(
  'ending' => '…'
 )
);
$ret →
aaaaa…
$ret = $this->Text->truncate(
 aaaaaaaaaa,
 5,
 array(
  'ellipsis' => '…'
 )
);
$ret →
aaaaa…
print('aaaaa'.replace('a', 'b')) #bbbbb
#ç½®æ›å€‹æ•°ã‚’指定
print('aaaaa'.replace('a', 'b', 3)) #bbbaa
#æ£è¦è¡¨ç¾ã§ç½®æ›
import re
print(re.sub(r'^a', 'A', 'aaaaa')) #Aaaaa
alert( '1<br>2<br>3' ).replace( '<br>', '');
→12<br>3
通常置æ›ã¯1回ã ã‘
alert( '1<br>2<br>3' ).replace( /<br>/g, '');
→123
æ£è¦è¡¨ç¾åˆ©ç”¨ã«ã‚ˆã‚Šç½®æ›ã¯æœ€å¾Œã¾ã§å¯èƒ½
æ£è¦è¡¨ç¾åˆ©ç”¨æ™‚
/ ã§å›²ã‚€
末尾ã«g
改行削除
my $input = <STDIN>; ※5を入力ã—ãŸã¨ã™ã‚‹ã€‚
chomp $input;
$input *= 2;
print $input
⇒ $input : 10
windowsç‰ã®ãƒ†ã‚ã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã®æ”¹è¡Œã‚’削除ã™ã‚‹å ´åˆ
$str =~ s/\r//; #CRを削除ã™ã‚‹
$str =~ s/\n//; #LFを削除ã™ã‚‹
トリãƒ
String s = " A A A ".trim();
s:"A A A"
全角スペーストリãƒ
String s = StringUtils.strip(" ");
s:""
$ret:a aa
型変æ›
「プãƒã‚°ãƒ©ãƒ 言語 ãƒ‡ãƒ¼ã‚¿åž‹ï¼šåž‹æƒ…å ±ã€å‚ç…§
大尿–‡å—変æ›
UCase(~)
å°æ–‡å—変æ›
LCase(~)
strSmall = LCase(~)
System.out.println(s.toLowerCase()); →abc
System.out.println(s.toUpperCase()); →ABC
print('AAA'.lower()) # aaa
切り出ã—
string str1 = CONST_STRING.Substring(3,3);
⇒str1:def
※× substring(é–‹å§‹ä½ç½®, 終了ä½ç½®)ã§ã¯ãªã„。JAVAã¨ã¯é•ã†ã€‚
※○ substring(é–‹å§‹ä½ç½®, æ–‡å—æ•°)
Dim str1 As String = Strings.Left(CONST_STRRING, 3)
⇒str1:abc
Dim str2 As String = Strings.Right(CONST_STRRING, 3)
⇒str2:lmn
Dim str3 As String = Strings.Mid(CONST_STRRING, 3, 3)
⇒str1:cde
Dim str4 As String = CONST_STRRING.Substring(startIndex:=3,length:=3)
⇒str1:def
String myAfter = myBefore.substring(3, 5);
⇒myAfter : DE
※× substring(é–‹å§‹ä½ç½®, æ–‡å—æ•°ã§ã¯ãªã„) .Netã¨ã¯é•ã†
※○ substring(é–‹å§‹ä½ç½®, 終了ä½ç½®)
String myAfter = myBefore.substring(3, 2);
⇒実行時エラー
$year:2018
print('abcde'[1]) #b
print('abcde'[4]) #e
print('abcde'[-1]) #e(末尾)
print('abcde'[0:2]) #å…ˆé ã‹ã‚‰2æ–‡å—ç›®
print('abcde'[:2]) #å…ˆé ã‹ã‚‰2æ–‡å—ç›®
print('abcde'[2:]) #3æ–‡å—ç›®ã‹ã‚‰æœ«å°¾
print('abcde'[:]) #å…ˆé ã‹ã‚‰æœ«å°¾
print('abcde'[-3:]) #後ã‚ã‹ã‚‰3æ–‡å—ç›®ã‹ã‚‰æœ«å°¾
print('abcde'[-3:-2]) #後ã‚ã‹ã‚‰3æ–‡å—ç›®ã‹ã‚‰å¾Œã‚ã‹ã‚‰2æ–‡å—ç›®
my $after = substr($before,0,2);
⇒ $after : ab
é–‹å§‹ä½ç½®ã¯ï¼ã‚¹ã‚¿ãƒ¼ãƒˆ
var Value = "ABCDEFG".substring( 1 , 3 ) ;
// ⇒ Value : BC
æ§‹æ–‡ | æ„味 | çµæžœ |
---|---|---|
%STR% | 変数STRã®å€¤å…¨ä½“ | 12345 |
%STR:~2% | 2æ–‡å—ç›®ã‹ã‚‰ã€æœ€å¾Œã¾ã§ | 345 |
%STR:~2,2% | 2æ–‡å—ç›®ã‹ã‚‰ã€2æ–‡å—分 | 34 |
%STR:~2,-2% | 2æ–‡å—ç›®ã‹ã‚‰ã€æœ€å¾Œã®2æ–‡å—分を除ã„ãŸã‚‚ã® | 3 |
%STR:~-2% | 後ã‚ã‹ã‚‰2æ–‡å—ç›®ã‹ã‚‰ã€æœ€å¾Œã¾ã§ | 45 |
%STR:~-3,2% | 後ã‚ã‹ã‚‰3æ–‡å—ç›®ã‹ã‚‰ã€2æ–‡å—分 | 34 |
%STR:~-3,-2% | 後ã‚ã‹ã‚‰3æ–‡å—ç›®ã‹ã‚‰ã€æœ€å¾Œã®2æ–‡å—分を除ã„ãŸã‚‚ã® | 3 |
æ–‡å—æ•°
char *myChar2 = "VisualC#";
int elmCnt;
elmCnt = strlen(myChar1);
elmCnt:9
終端文å—(\0)ã¯å«ã¾ãªã„
elmCnt = strlen(myChar2);
ãƒã‚¤ãƒ³ã‚¿OK
elmCnt:8
終端文å—(\0)ã¯å«ã¾ãªã„
ãƒã‚¤ãƒˆæ•°
→3
int i = "ã‚¢".getBytes(Charset.forName("Shift-JIS")).length;
→2
int i = "ï½±".getBytes(Charset.forName("UTF-8")).length;
→2
int i = "ï½±".getBytes(Charset.forName("Shift-JIS")).length;
→1
int i = "ï½±".getBytes().length;
→?
実行環境(Windows?Linux?)ã«å½±éŸ¿ã•れる
Windows=Shift-Jisã€Linuxï¼UTF-8
Charåž‹ã¨Stringåž‹
myChar1[0] = ‘1’;
myChar1[1] = ‘2’;
myChar1[2] = ‘3’;
//myChar[3] = ‘4’; ã¯ã‚¨ãƒ©ãƒ¼
char[] myChar2 = {‘1′,’2′,’3’};
char[] myChar3 = "123".ToCharArray();
int len = myChar1.Length;
//⇒len:3
int number = (int)myChar1[0];
//⇒number:49(æ–‡å—コード)
char myChar = (char)number;
//⇒myChar:’1′
string myString = myChar.ToString();
//⇒myString:"1"
myChar1(0) = "1"
myChar1(1) = "2"
myChar1(2) = "3"
myChar1(3) = "4"
‘myChar1(4) = "5" ã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚¨ãƒ©ãƒ¼
Dim myChar2() As Char = {"1", "2", "3"}
Dim myChar3() As Char = "123".ToCharArray()
Dim len As Integer = myChar1.Length
‘len:4
Dim number As Integer = Val(myChar1(0))
‘number:1
Dim myString As String = number.ToString()
‘myString:"1"
ãƒã‚¤ãƒ³ãƒ‰(埋ã‚è¾¼ã¿)
string disp1 = string.Format("aaaa{0}aaa{1}aaa{2}", myChar1[0] , myChar1[1] , myChar1[2]);
⇒disp1 : "aaaa1aaa2aaa2"
Dim disp1 As String = String.Format("aaaa{0}aaa{1}aaa{2}", myChar1(0), myChar1(1), myChar1(2))
String s = String.format("000%s000%s000%s000", "A","B","C")
{N}ã«å¯¾ã—ã¦å€¤ã‚’指定ã™ã‚‹
String s = MessageFormat.format("000{0}000{1}000{2}000","A","B","C");
String s = MessageFormat.format("000{0}000{1}000{2}000",new Object[]{"A","B","C"}});
S:000A000B000C000
alert( `ccc${purpose}ccc` );
→ cccpppccc
連想é…列
$s = "XXXXX$array[name]XXXXX";
オブジェクト
$s = "XXXXX{$item->name}XXXXX{$item->method()}";
定数
define("TEST_MESSAGE", "テスト");
定数を出力ã™ã‚‹ãŸã‚ã®ã‚¯ãƒãƒ¼ã‚¸ãƒ£
$constant = function($c){ return $c; };
$s = "XXXXX{$constant(TEST_MESSAGE)}XXXXX";
print('aaa{}aaa{}aaa'.format('ddd', 'ddd'))
→aaadddaaadddaaa
print('aaa{0}aaa{1}aaa'.format('ddd', 'ddd'))
→aaadddaaadddaaa
print('aaa{a}aaa{b}aaa'.format(a='ddd', b='ddd'))
→aaadddaaadddaaa
é–¢æ•°ã®æˆ»ã‚Šå€¤ã‚’ãƒã‚¤ãƒ³ãƒ‰
print('aaa{a}aaa{b}aaa'.format(a=getString(), b=getString()))
→aaa(getString()ã®æˆ»ã‚Šå€¤)aaa(getString()ã®æˆ»ã‚Šå€¤)aaa
é…列
ary = ['php', 'java', 'python']
print('{0[0]}ã€{0[1]}ã€{0[2]}'.format(ary))
連想é…列
ary = {'php':'CakePHP3', 'java':'Spring-Boot', 'python':'Django'}
print('{0[php]}ã€{0[java]}ã€{0[python]}'.format(ary))
#fæ–‡å—ã¸ã®åŸ‹ã‚è¾¼ã¿
str1 = 'ddd'
str2 = 'ddd'
print(f'aaa{str1}aaa{str2}aaa')
→aaadddaaadddaaa
print(f'aaa{getString()}aaa{getString()}aaa')
→aaa(getString()ã®æˆ»ã‚Šå€¤)aaa(getString()ã®æˆ»ã‚Šå€¤)aaa
my @z = (c,c,c);
#「"ã€ã§å›²ã¾ã‚ŒãŸæ–‡å—列ä¸ã®å¤‰æ•°
print "aaa$y@z";
⇒aaabbbccc
#「'ã€ã§å›²ã¾ã‚ŒãŸæ–‡å—列ä¸ã®å¤‰æ•°
print 'aaa$y@z';
⇒aaa$y@z
0埋ã‚
disp2:55000
string disp3 = "55".PadRight(5, ' ');
disp2:  55
通常ã®{0}ã€{1} ã«åŠ ãˆã€æ›¸å¼:xxxxxを指定ã™ã‚‹
string disp4 = String.Format("{0:00000}", 55);
⇒disp4 : "00055"
Dim disp3 As String = "55".PadRight(5, CType(" ", Char))
‘通常ã®{0}ã€{1} ã«åŠ ãˆã€æ›¸å¼:xxxxxを指定ã™ã‚‹
Dim disp4 As String = String.Format("{0:00000}", 55)
‘⇒disp4 : "00055"
→00123
s = String.format("%5s", 123);
→ 123
s = String.format("%5s", "123").replace(" ", "0");
→00123
s = String.format("%,d", 123567);
→1,234,567
→00009
sprintf('%5s', 9)
→ 9
print('python'.rjust(10, ' ')) # ____python
print('python'.rjust(10, '0')) # 0000python
print('python'.ljust(10)) # python____
print('python'.ljust(10, ' ')) # python____
print('python'.ljust(10, '0')) # python0000
print('python'.center(10)) # __python__
print('python'.center(10, ' ')) # __python__
print('python'.center(10, '0')) # 00python00
("0" + value).slice(-2);
// ⇒ value : 05
å°æ•°ç‚¹æ¡æŒ‡å®š
string disp5 = String.Format("{0:0.00000}", 55.123);
//⇒disp5 : "55.12300"
//å°æ•°ç‚¹æ¡æŒ‡å®šï¼†ï¼åŸ‹ã‚
string disp6 = String.Format("{0:000.00000}", 12.345);
//⇒disp6 : "012.34500"
Dim disp5 As String = String.Format("{0:0.00000}", 55.123)
‘⇒55.12300
‘å°æ•°ç‚¹æ¡æŒ‡å®šï¼†0埋ã‚
Dim disp6 As String = String.Format("{0:000.00000}", 55.123)
‘⇒055.12300
// ⇒ value : 0.33
æ¡åŒºåˆ‡ã‚Š
string disp7 = String.Format("{0:#,#}", 123456789);
//⇒disp7 : 123,456,789
//ã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šï¼†å°æ•°ç‚¹æ¡æŒ‡å®š
string disp8 = String.Format("{0:#,#.00}", 12345.6);
//⇒disp8 : 12,345.60
Dim disp7 As String = String.Format("{0:#,#}", 1234567890)
‘⇒1,234,567,890
‘ã‚«ãƒ³ãƒžåŒºåˆ‡ã‚Šï¼†å°æ•°ç‚¹æ¡æŒ‡å®š
Dim disp8 As String = String.Format("{0:#,#.00}", 12345.6)
‘⇒12,345.60
echo number_format(1234.567, 0);
→1,235
å°æ•°ç‚¹ä»¥ä¸‹å››æ¨äº”å…¥
echo number_format(1234.567, 2);
→1,234.57
å°æ•°ç‚¹ç¬¬ä¸‰ä½ã‚’å››æ¨äº”å…¥
Null
Null判定
ret = string.IsNullOrWhiteSpace(value: @"AAA");
ret:false
ret = string.IsNullOrWhiteSpace(value: @" ");
ret:true
ret = string.IsNullOrWhiteSpace(value: @"");
ret:true
ret = string.IsNullOrWhiteSpace(value: null);
ret:true
ret = string.IsNullOrEmpty(value: @"AAA");
ret:false
ret = string.IsNullOrEmpty(value: @" ");
ret:false
ret = string.IsNullOrEmpty(value: @"");
ret:true
ret = string.IsNullOrEmpty(value: null);
ret:true
System.out.println(Objects.isNull(null)); // true
System.out.println(Objects.isNull("Java")); // false
System.out.println(Objects.nonNull(null)); // false
System.out.println(Objects.nonNull("Java")); // true
System.out.println(Objects.compare(null, null, Comparator.naturalOrder())); // 0
System.out.println(Objects.compare("Java", "Java", Comparator.naturalOrder())); // 0
System.out.println(Objects.compare("Java", "PHP", Comparator.naturalOrder())); // -~
System.out.println(Objects.compare("Java", null, Comparator.naturalOrder())); // 例外
Object obj = Objects.requireNonNull("Java"); // obj:"Java"
Object obj = Objects.requireNonNull(null); // 例外
Object obj = Objects.requireNonNull(null, "nullã§ã™"); // 例外メッセージ
 nullã§ãªã„時ã®å‡¦ç†
}
値 | isset() | empty() | is_null() | ===null | ==='' |
---|---|---|---|---|---|
1 æ•°å— | 1 | 0 | 0 | 0 | 0 |
'a' æ–‡å— | 1 | 0 | 0 | 0 | 0 |
null | 0 | 1 | 1 | 1 | 0 |
'' | 1 | 1 | 0 | 0 | 1 |
nullåˆä½“演算å(PHP7以é™)
$result = $aaa ?? 1;
↓ã¨åŒã˜
$result = is_null($aaa) ? 1 : $aaa;