当前位置:  开发笔记 > 编程语言 > 正文

正则表达式找到一个角色的位置

如何解决《正则表达式找到一个角色的位置》经验,为你挑选了1个好方法。

我必须在字符串中找到*的出现,并且基于字符串中*的位置,必须执行某些操作.

if(* found in the beginning of the String) {
 do this
}
if(* found in the middle of the String) {
 do this
}
if(* found at the end of the String) {
 do this
} 

我使用了matcher.find()选项,但它没有给出所需的结果.



1> Andy Turner..:

用途String.indexOf:

int pos = str.indexOf('*');
if (pos == 0) {
  // Found at beginning.
} else if (pos == str.length() - 1) {
  // Found at end.
} else if (pos > 0) {
  // Found in middle.
}

另一种方法是使用startsWith/ endsWith/ contains:

if (str.startsWith('*')) {
  // Found at beginning.
} else if (str.endsWith('*')) {
  // Found at end.
} else if (str.contains('*')) {
  // Found in middle.
}

这可能会略微提高效率,因为它避免了在结束时必须检查整个字符串*.但是,代码的可读性应该是在这两者之间进行选择的主要考虑因素,因为在许多情况下性能差异可以忽略不计.

当然,*如果您使用后一种方法,则无法获得实际位置.这取决于你真正想做的事情是否重要.

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有