facebook twitter hatena line google mixi email

「Unity/Csharp/文字操作」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(正規表現マッチ)
(a-z判定)
 
行73: 行73:
 
==a-z判定==
 
==a-z判定==
 
<pre>
 
<pre>
string str = "hoge";
+
if (StrUtil.IsAlphabet(name)) {
if (str.All(IsAlphabet)) { // true
+
 
}
 
}
public static bool IsAlphabet(char c) {
+
public class StrUtil
         return (c >= 'A' && c <= 'z') ? true : false;
+
{
 +
    // アルファベットのみ
 +
    public static bool IsAlphabet(string name)
 +
    {
 +
         return !Regex.IsMatch(name, @"[^a-zA-Z]");
 +
    }
 +
    // 数字のみ
 +
    public static bool IsNum(string name)
 +
    {
 +
        return !Regex.IsMatch(name, @"[^0-9]");
 +
    }
 
}
 
}
 
</pre>
 
</pre>
参考:https://qiita.com/hotelmoskva_/items/77bdc61a592a69914287
+
参考:http://increment.hatenablog.com/entry/2015/08/21/060626

2019年10月4日 (金) 00:31時点における最新版

文字の長さ

String name = "abcdef";
name.Length; // 6

文字の切り取り

String name = "abcdef";
name = name.Substring (name.Length - 2, 2); // ef

検索

if (name.IndexOf("検索文字列") == -1) {
    // no hit
} else {
    // hit
}

分割

name = "1234:2345";
string[] names = name.Split(":"[0]);
Debug.Log(names[0]); // 1234
Debug.Log(names[1]); // 2345

分割(改行)

using System;
string str = "test\r\ntest\r\ntest";
string[] lines = str.Split(new []{"\r\n", "\r", "\n"}, StringSplitOptions.None);

小文字を大文字へ

name.ToUpper();

大文字を小文字へ

name.ToLower();

.区切りの一番最後の文字列を取得

jp.co.example.hogehogeのhogehogeを取得する

int startindex = className.LastIndexOf('.') + 1;
string name = className.Substring(startindex, className.Length - startindex);

ヒアドキュメント

string str = @"hogehoge
hogehoge";

@をつけると改行があっても大丈夫

ある文字から最後までを抜き出す

例:{"があるところから最後までを抜き出す

json = json.Substring(json.IndexOf("{\""), json.Length - json.IndexOf("{\""));

初回検索の文字だけ置換

using System;
using System.Text.RegularExpressions;
string str = "hogehoge";
string searchWord = "hoge";
string after = "piyo";
Regex re = new Regex(searchWord); 
ret = re.Replace(str, after, 1);
Debug.Log("ret=" + ret); // piyohoge

http://noriok.hatenadiary.jp/entry/2015/09/21/184424

初回検索の文字から検索

Match matche = Regex.Match("hogepiyo", "^hoge");
if (matche.Success)
{
    Debug.Log(matche.Value); // hoge
}

正規表現マッチ

string str = "hoge a456 piyo";
Match matche = Regex.Match(str, "a[0-9]+");
if (matche.Success) {
    Debug.Log(matche.Value); // a456
}

a-z判定

if (StrUtil.IsAlphabet(name)) {
}
public class StrUtil
{
    // アルファベットのみ
    public static bool IsAlphabet(string name)
    {
        return !Regex.IsMatch(name, @"[^a-zA-Z]");
    }
    // 数字のみ
    public static bool IsNum(string name)
    {
        return !Regex.IsMatch(name, @"[^0-9]");
    }
}

参考:http://increment.hatenablog.com/entry/2015/08/21/060626