//去掉字符串 中间 及 前后 的空格
Debug.Log("你好呀 嗯 好你 看有" + str.Replace(" ",""));
//打印结果:你好呀嗯好你看有
//分隔符取值:
public string QuZhiA(string str)
{
string a= str.Replace(" ","");
var temps = a.Split('-');
string str01="";
for (int i = 0; i < temps.Length; i++)
{
str01 = temps[0];
}
return str01;
}
//调用: Debug.Log("000000000000="+ QuZhiA("0.5-0.55"));
结果:0.5
1. 判断text是否为int
//判断实数的正则表达式为 ^-?\d+\.?\d*$
//具体方法
//1、添加引用
using System.Text.RegularExpressions;
//2、
string regex = @"^-?\d+\.?\d*$";
bool result = Regex.IsMatch(字符, regex);
//result 结果为 true时,字符实数
2.比较两个字符串是否相等
/// <summary>
/// 比较两个字符串是否相等
/// </summary>
/// <param name="A"></param>
/// <param name="B"></param>
/// <returns></returns>
public static bool StrComparison(string A, string B)
{
string variable01 = A.Replace(" ", "");
string variable02 = B.Replace(" ", "");
char[] c1 = variable01.ToCharArray();
char[] c2 = variable02.ToCharArray();
Array.Sort(c1);
Array.Sort(c2);
string t1 = new String(c1).ToUpper();
string t2 = new String(c2).ToUpper();
if (t1.Trim() == t2.Trim())//去除 首尾空格
{
return true;
}
else
{
return false;
}
}
3.unity C#字符串读取
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class MyTextChar : MonoBehaviour
{
private Text uiText;
//储存中间值
private string words;
//每个字符的显示速度
private float timer;
private float timer2;
//限制条件,是否可以进行文本的输出
private bool isPrint = false;
private float perCharSpeed = 1;
private int text_length = 0;
private string Ctext;
// Use this for initialization
void Start()
{
uiText = GetComponent<Text>();
words = GetComponent<Text>().text;
isPrint = true;
}
// Update is called once per frame
void Update()
{
printText();
}
void printText()
{
try
{
if (isPrint)
{
uiText.text = words.Substring(0, (int)(perCharSpeed * timer));//截取
timer += Time.deltaTime;
}
}
catch (System.Exception)
{
printEnd();
}
}
void printEnd()
{
isPrint = false;
}
}
4.字符串 剔除使用
DLChangDu = int.Parse(DaLouChangDu.text.TrimEnd('m'));//剔除结尾m 使用整数部分
string.TrimStart() //删除字符串头部空格
string.TrimEnd() //删除字符串尾部空格
string.Trim() //删除字符串头部和尾部空格,由外向内,直到碰到非空格才会停止
5.是否包含
if (!DaLouChangDu.text.Contains("m"))//是否存在m
6.删除指定位置字符
//删除此字符串中从指定位置到最后位置的所有字符。
Remove(int startIndex):
//从此实例中的指定位置开始删除指定数目的字符。
Remove(int startIndex, int length):
//从此实例检索子字符串。子字符串从指定的字符位置开始。
Substring(int startIndex):
//从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。
Substring(int startIndex, int length):
7.分割字符串:
Split方法,用于分割字符串。
static void Main()
{
string _testStr = "痴#情,的妖:怪啊,请再;等一世吧!";
char[] _separator = { '#', ',', ':', ';' };
string[] _splitsStrings = _testStr.Split(_separator);
for (int i = 0; i < _splitsStrings.Length; i++)
{
Console.WriteLine("子字符串{0}:{1}", i, _splitsStrings[i]);
}
Console.ReadKey();
}
8.
截取字符串
SubString方法可以截取字符串中指定索引位置及指定长度的字符。(字符串中的索引是从0开始)
string _testStr = "痴情的妖怪啊,请再等一世吧!";
string _subStr = _testStr.Substring(3, 4); //从索引3开始,截取四个字符
Console.WriteLine(_subStr);
9.获取时间戳(long)
using System;
using UnityEngine;
public class TimeTest : MonoBehaviour
{
DateTime startTime;
private void Start()
{
//获取开始时的时间
startTime = DateTime.Now;
Debug.Log("startTime="+ startTime);
//获取当前时间戳
long unixTime = ConvertDateTimep(DateTime.Now);
Debug.Log(unixTime);
//将时间戳转换为DateTime
Debug.Log(GetTime(unixTime.ToString()).ToString());
Debug.Log(GetTime(unixTime.ToString()).Year);
Debug.Log(GetTime(unixTime.ToString()).Month);
Debug.Log(GetTime(unixTime.ToString()).Day);
Debug.Log(GetTime(unixTime.ToString()).Hour);
Debug.Log(GetTime(unixTime.ToString()).Minute);
Debug.Log(GetTime(unixTime.ToString()).Second);
}
/// <summary>
/// 获取时间戳(精确到秒)
/// TimeTool.ConvertDateTimep(DateTime.Now)
/// </summary>
/// <param name="time">时间</param>
public static long ConvertDateTimep(DateTime time)
{
return ((time.ToUniversalTime().Ticks - 621355968000000000) / 10000000);
//等价于:
//return ((time.ToUniversalTime().Ticks - new DateTime(1970, 1, 1, 0, 0, 0, 0).Ticks) / 10000000) * 1000;
}
/// <summary>
/// 获得时间戳
/// </summary>
/// <returns></returns>
private long GetTime()
{
//精确到毫秒
return new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();
}
/// <summary>
/// 时间戳转为C#格式时间
/// TimeTool.GetTime(TimeTool.ConvertDateTiemp(DateTime.Now).ToString())
/// </summary>
/// <param name="timeStamp">时间戳</param>
/// <returns></returns>
public static DateTime GetTime(string timeStamp)
{
if (timeStamp.Length > 10)
{
timeStamp = timeStamp.Substring(0, 10);
}
DateTime dateTimeStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
long lTime = long.Parse(timeStamp + "0000000");
TimeSpan toNow = new TimeSpan(lTime);
return dateTimeStart.Add(toNow);
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Z))
{
//获取当前时间,并打印当前时间与开始时间相差秒数(以秒为单位)
DateTime curtimer = DateTime.Now;
Debug.Log(curtimer);
int timer = GetSubSeconds(startTime, curtimer);
Debug.Log(timer);
}
}
/// <summary>
/// 获取间隔秒数
/// </summary>
/// <param name="startTimer"></param>
/// <param name="endTimer"></param>
/// <returns></returns>
public int GetSubSeconds(DateTime startTimer, DateTime endTimer)
{
TimeSpan startSpan = new TimeSpan(startTimer.Ticks);
TimeSpan nowSpan = new TimeSpan(endTimer.Ticks);
TimeSpan subTimer = nowSpan.Subtract(startSpan).Duration();
//返回间隔秒数(不算差的分钟和小时等,仅返回秒与秒之间的差)
//return subTimer.Seconds;
//返回相差时长(算上分、时的差值,返回相差的总秒数)
return (int)subTimer.TotalSeconds;
}
/// <summary>
/// 获取两个时间的相差多少分钟
/// </summary>
/// <param name="startTimer"></param>
/// <param name="endTimer"></param>
/// <returns></returns>
public int GetSubMinutes(DateTime startTimer, DateTime endTimer)
{
TimeSpan startSpan = new TimeSpan(startTimer.Ticks);
TimeSpan nowSpan = new TimeSpan(endTimer.Ticks);
TimeSpan subTimer = nowSpan.Subtract(startSpan).Duration();
//返回相差时长(仅返回相差的分钟数)
//return subTimer.Minutes;
//返回相差时长(仅返回相差的总分钟数)
return (int)subTimer.TotalMinutes;
}
/// <summary>
/// 获取两个时间的相差多少小时
/// </summary>
/// <param name="startTimer"></param>
/// <param name="endTimer"></param>
/// <returns></returns>
public int GetSubHours(DateTime startTimer, DateTime endTimer)
{
TimeSpan startSpan = new TimeSpan(startTimer.Ticks);
TimeSpan nowSpan = new TimeSpan(endTimer.Ticks);
TimeSpan subTimer = nowSpan.Subtract(startSpan).Duration();
//返回相差时长(仅返回相差的小时)
//return subTimer.Hours;
//返回相差时长(返回相差的总小时数)
return (int)subTimer.TotalHours;
}
/// <summary>
/// 获取两个时间的相差多少天
/// </summary>
/// <param name="startTimer"></param>
/// <param name="endTimer"></param>
/// <returns></returns>
public int GetSubDays(DateTime startTimer, DateTime endTimer)
{
TimeSpan startSpan = new TimeSpan(startTimer.Ticks);
TimeSpan nowSpan = new TimeSpan(endTimer.Ticks);
TimeSpan subTimer = nowSpan.Subtract(startSpan).Duration();
//返回相差时长(仅返回相差的天数)
//return subTimer.Days;
//返回相差时长(返回相差的总天数)
return (int)subTimer.TotalDays;
}
}
保留 后几位小数点文章来源:https://www.toymoban.com/news/detail-537252.html
一、float转换为string:ToString("f3"):保留3位小数点,3代表保留多少位小数点
str_tmp +="\n"+ arrTargetAngles[i].ToString("f3");
一、string转换为float保留多少位小数点
好像是多少位就是多少位,超出范围另当别论
float.TryParse(student.Attributes["x"].Value, out targetVec3[i].x);
float f_tmp_x = float.Parse(student.Attributes["x"].Value);
————————————————
原文链接:https://blog.csdn.net/qq_40544338/article/details/102678178
字符串 替换 也可以去除某个字符文章来源地址https://www.toymoban.com/news/detail-537252.html
字符串替换
string s = “siki”;
string newStr = s.Replace(‘i’, ‘h’);//用指定字符更换另一个字符,用后面的替换前面的
string newStr = s.Replace(“si”, “zaaa”);//用指定字符更换另一个字符,用后面的替换前面的,长度不要
求一致
t2.Replace(" ", "")//去除 所有空格
t2.Replace(",", "")//去除 所有逗号
到了这里,关于unity 字符串 小技巧的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!