-
2021-06-05 16:56:48
trim():去除字符串左右两端的空格
方法一:正则表达式
- ^:从头匹配
- $:从尾匹配
- \s:s匹配空字符(空格,tab,\n,换页,回车)
- *:匹配前面的表达式0次或多次
- |:指明两项之间的一个选择
- g:执行全局匹配,而不是找到第一个匹配就停止
function trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ''); } let str = " hello "; console.log(trim(str)) //hello
方法二:使用substring()方法
- \S:匹配非空白符,不包括换行
- +:匹配前面的表达式1次或多次
function trim2(str){ var start = 0; //开始索引 var end = str.length-1; //结束索引 while((start<end) &&(str.charAt(start) == " ") ){ start++; } while((start<end) && (str.charAt(end) == " ")){ end-- ; } return str.substring(start, end+1); //左闭右开 }
方法三:
function trim3(str) { var s = str.replace(/^\s+/, ''); for (var i = s.length - 1; i >= 0; i--) { if (/\S/.test(s.charAt(i))) { s = s.substring(0, i + 1); break; } } return s; }
更多相关内容 -
trim方法
2021-03-02 21:15:401,问题分析 定义i,j两个下标,记录目标字符序列的起始位置,和结束...public static String trim(String x){ int i=0; int j=x.length()-1; char ch1=x.charAt(i); while(ch1==' '){ i++; ch1=x.charAt(i); }1,问题分析
定义i,j两个下标,记录目标字符序列的起始位置,和结束位置。
新建char[] chs,把i~j之间的字符加入数组。
最后重新创建一个string
public static String trim(String x){ int i=0; int j=x.length()-1; char ch1=x.charAt(i); while(ch1==' '){ i++; ch1=x.charAt(i); } char ch2=x.charAt(j); while(ch2==' '){ j--; ch2=x.charAt(j); } char[] chs=new char[j-i+1]; for(int m=0,n=i;n<=j;n++,m++){ chs[m]=x.charAt(n); } return new String(chs); }
2,测试
public static void main(String[] arg){ System.out.print(trim(" abc ")); System.out.println(" abc ".trim());//输出 abcabc }
3,对比源码
public static String trim(byte[] value) { int length = value.length >> 1; int len = length; int st = 0; while (st < len && getChar(value, st) <= ' ') { st++; } while (st < len && getChar(value, len - 1) <= ' ') { len--; } return ((st > 0) || (len < length )) ? new String(Arrays.copyOfRange(value, st << 1, len << 1), UTF16) : null; }
-
JavaScript如何自定义trim方法
2021-01-21 11:59:49相比vbscript,javascript在字符串处理方面已经很强大了,但是偏偏缺少去除字符串前后空格的trim方法。 //clear the right and left space function trim(s){ return trimRight(trimLeft(s)); } //clear the left... -
自己编写的类似JS的trim方法
2020-12-09 12:46:43由于JS的trim方法在很多浏览器中不支持 所以在这里我们可以使用自己编写的trim方法来处理一些剪掉字符串两端的空字符串的需要 处理方法有很多种 这里我只选择一种 是经过自己测试的 代码如下: String.prototype.trim... -
js代码-trim方法实现
2021-07-14 23:02:15js代码-trim方法实现 -
实现字符串的trim方法
2022-03-22 14:51:31实现字符串的trim方法,可以使用while循环从前开始遍历,然后从后往前遍历,但是这都不是重点,重点的是,我们可以使用正则表达式来解决。 二、正则表达式实现 String.prototype._trim = function() { return this....一、写在前面
实现字符串的trim方法,可以使用while循环从前开始遍历,然后从后往前遍历,但是这都不是重点,重点的是,我们可以使用正则表达式来解决。
二、正则表达式实现String.prototype._trim = function() { return this.replace(/^(\s*)|(\s*)$/g, '') } let str = ' ssss ' console.log(str.length) str = str._trim() console.log(str.length)
这里的*表示匹配0个或者多个,此时我们需要考虑两种情况,一个是前面存在空格,另一个是后面存在空格。所以我们使用
|
来进行匹配。并且使用replace
来进行替换的话,只会替换第一个,所以我们需要加上全局匹配g
。 -
Java中手动实现trim方法
2021-07-05 15:38:48如何手写一个trim方法? 思路 用char数组来接收字符串 找出左边第一个不为空格的字符的下标 找出右边第一个不为空格的字符的下标 使用substring方法,从左下标读取到右下标 我们来看一下代码如何实现 public class...如何手写一个trim方法?
思路
- 用char数组来接收字符串
- 找出左边第一个不为空格的字符的下标
- 找出右边第一个不为空格的字符的下标
- 使用substring方法,从左下标读取到右下标
我们来看一下代码如何实现
public class StringHomeWork01 { public static void main(String[] args) { String abc = " a b c ddsa "; char[] chars = abc.toCharArray(); //将字符串中的字符一个个切出来存在char数组中 String[] array = new String[chars.length]; //这个string数组用于储存char数组中有值的数组的下标 int count = 0; //count用于判断array数组中有多少个不为0的字符 for (int i = 0; i < chars.length; i++) { if(chars[i] != ' '){ for (int j = 0; j < array.length; j++) { if(array[j] == null) { array[j] = Integer.toString(i); count++; break; } } } } String result = abc.substring(Integer.parseInt(array[0]),Integer.parseInt(array[count-1])+1); System.out.println(result); } }
以上是我对手写trim方法的第一想法,我发现在遍历中其实我们只需要获得第一个和最后一个字符的下标,以上流程运行速度慢了一些,可以做的更好以下
public class StringHomeWork01_2 { public static void main(String[] args) { String abc = " a b c ddsa "; char[] chars = abc.toCharArray(); int start = 0; int end = 0; for (int i = 0; i < chars.length; i++) { if(chars[i] != ' '){ start = i; break; } } for (int i = chars.length-1; i > 0 ; i--) { if(chars[i] != ' '){ end = i; break; } } String result = abc.substring(start,end+1); System.out.println(result); } }
-
String类型的trim方法解析
2021-04-13 10:15:45public String trim() { int len = value.length; int st = 0; char[] val = value; /* avoid getfield opcode */ while ((st < len) && (val[st] <= ' ')) { st++; } while ((st < len) & -
模拟String中的trim方法
2020-12-05 07:27:44在String中trim方法的作用: 模拟一个trim方法,去除字符串两端的空格。 思路: 1,判断字符串第一个位置是否是空格,如果是继续向下判断,直到不是空格为止。 结尾处判断空格也是如此。 2,当开始和... -
C# 实现Trim方法去除字符串前后的所有空格
2021-01-19 23:20:56在C#语言程序开发过程中,很多时候需要对字符串对象的前后空格进行去除,此时就需要使用到Trim()方法来实现这个功能,Trim()方法可以快速去除字符串前端和后端的所有空格。 例如有个字符: string str=” Abc ... -
如何用JS手写一个trim方法
2021-06-04 19:20:20最近在面试中多次被问到一个手撕代码的题目,就是让你手写一个trim方法,在写方法之前,我们要先了解一下trim方法具体是干嘛的。 官方文档中给我们的解释是:去除字符串的头尾空格。 让我们看一下实例: var str = ... -
String的trim方法
2019-06-20 10:47:40不能理解成只是去除两端空格 \t \n \v \f \r \x0085 \x00a0 ?...并且Trim方法执行删除的过程是从前后两端开始,直到碰到一个非空白的字符停止删除,因此不管前后有多少个连续的空白字符或其他字符都会被删除掉,所... -
字符串的trim方法_字符串trim()方法
2020-08-28 07:05:50字符串的trim方法Return a new string with removed white space from the beginning and the end of the original string 返回一个新字符串,从原始字符串的开头和结尾删除空格 'Testing'.trim() //'Testing' ' ... -
模拟一个trim方法,去除字符串两端的空格
2021-03-31 20:05:38模拟一个trim方法,去除字符串两端的空格 模拟一个trim方法,去除字符串两端的空格Java 核心:先将 String 型的 变量 转换为 字符数组, 通过遍历的手段,分别从两边找到第一个不为空格的字符,记录下 index 在通过... -
【Java】模拟Java中trim方法,去除字符串两端的空格
2022-01-07 14:48:38【Java】模拟Java中trim方法,去除字符串两端的空格 -
String trim方法及trim方法重写
2016-07-20 22:38:57中文系统的 String trim方法重写 -
js trim方法的实现
2019-08-17 10:10:402、用法:创建一个字符串,直接使用它的trim方法,因为字符串在使用属性和方法时会隐式的创建包装对象,所以基本数据类型 string 也可以使用方法 。使用后收尾的空字符全部被删除,但中间的空字符不会被删除 ,如下... -
String常见算法题目一:模拟一个trim方法,去掉字符串两端的空格
2020-08-19 18:01:54String常见算法题目一:模拟一个trim方法,去掉字符串两端的空格 思路 创建一个形参为char数组的Trim方法,通过将输入的字符串转换为char数组的方式传递参数 在Trim方法中,对传递后的char数组进行遍历查询。 先... -
在JS中使用trim 方法
2019-02-02 10:13:28在JS中使用trim 方法 -
String类的Trim方法的实现
2019-01-14 20:22:161使用String类的特性和JDK提供的方法,实现trim()方法实现截取空字符串 空格的对应ASCII 对应的为32 一种是转化了char类型,一种是转化为byte类型 ① 转化成byte类型 代码: public String Trim(String s){ ... -
Java:删除字符串左右两端出现的空格(不用trim方法)
2021-11-03 14:09:19public class Demo { public static void main(String[] args) { String str = " Hello world! "; //定义一个字符串,前后都有空格 int s = ... //调用字符串的一个方法,取出字符串中s到l+1位置的子字符串。 } } -
模拟一个String字符串的trim方法,去除字符串两端的空格。
2020-05-18 22:59:07public String myTrim(String str) { if (str != null) { int start = 0;// 用于记录从前往后首次索引位置不是空格的位置的索引 int end = str.length() - 1;// 用于记录从后往前首次索引位置不是空格的位置... -
JavaScript中的trim 方法
2016-05-09 10:34:59参考资料:https://msdn.microsoft.com/zh-cn/library/ff679971(v=vs.94).aspxhttp://stackoverflow.com/questions/498970/trim-string-in-javascript 要点:用途: ...stringObj.trim();兼容性 在JavaScr -
字符串trim方法与split方法
2021-11-03 10:43:37字符串trim方法和split方法 trim 用于删除字符串的头尾空白字符串。返回值为String; public static void main( String[] args ) { String str = " hello world! "; System.out.println(str); System.out.... -
使用JQuery中的trim()方法去掉前后空格
2020-10-21 12:45:03下面小编就为大家带来一篇使用JQuery中的trim()方法去掉前后空格。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 -
JAVA中String及Stringutil的trim方法个人剖析
2021-03-16 10:49:40打开StringUtils类的源码定位到方法trim,相信绝大多数程序猿都使用过这个方法,因为它太过平常,所以大家可能没有留意其内部实现,一下是方法代码:public static String trim(String str) {ret...
收藏数
286,694
精华内容
114,677