【问题标题】:java substring of string with OR option带有 OR 选项的字符串的 java 子字符串
【发布时间】:2019-06-20 06:59:55
【问题描述】:

假设我有一个字符串列表,例如:

List myList = new ArrayList();
myList.add("person [something]");
myList.add("person 'something'");

所以在我的字符串中有时我有 [ 有时是 '

现在我想获取子字符串,但如果我想将字符串剪切成两个字符之一,我不知道该怎么做。 谁能告诉我这个选项是否可行? 我试过类似的东西:

List finalOne = new ArrayList();
for(String ss: myList){
finalOne.add(ss.substring("[" || "'" ))

}

我希望在一次运行中获得从 char "[" 或从 "'" 开始的所有子字符串

【问题讨论】:

标签: java


【解决方案1】:

substring 方法不是这样工作的,请查看文档 (https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#substring(int))。

根据您的需要,您可以:

  1. 使用 RegEx 获取这些子字符串 (https://www.tutorialspoint.com/java/java_regular_expressions.htm)
  2. 将字符串拆分为某个字符、字符串或模式 (https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String))
  3. 找到你需要的子字符串的索引并通过substring方法得到它

【讨论】:

    【解决方案2】:

    您可以使用(?<=\[)(.*?)(?=\])(?<=\')(.*?)(?=\') 正则表达式来查找方括号和单引号之间的字符串。

    你可以看看this,用于在java中搜索模式,this,用于正则表达式。

    【讨论】:

    • 我需要进一步的帮助 :( 我在 java String regex = "(?
    • 你可能想发布另一个问题
    猜你喜欢
    • 2020-11-20
    • 2016-03-10
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    • 2018-02-17
    • 1970-01-01
    相关资源
    最近更新 更多