想要使用java中的模式从String中提取一个值[关闭]

Posted

技术标签:

【中文标题】想要使用java中的模式从String中提取一个值[关闭]【英文标题】:Want to extract a value from String using patterns in java [closed] 【发布时间】:2014-09-07 04:40:02 【问题描述】:

我有字符串,我想提取 AGO_MATERIAL 的值。即1400421-0010

*元素组名称:1-SSCFAP1301498_KB$4,描述:AGO_MATERIAL,隐藏:false,允许:true,级别:0,uiType:uitypeIPC_nestedAssignmentBlock,accessKey:,tabIndex:,styleClasses:[Ljava.lang.String;@5d14ea56

元素列表:属性组

元素组名称:$BASE_GROUP,描述:常规,隐藏:false, 允许:true,级别:0,uiType:uitypeIPC_propgroup,accessKey:, tabIndex: , styleClasses: [Ljava.lang.String;@824e3d8

元素列表:

属性:IS_IN_AGO,类型:String,描述:hej,helpValuesMethod: 空,值:1-SSCFAP1301498_KB$2(SSCBFM901290),输入模式:, 高度:

属性:AGO_MATERIAL,类型:String,描述:SSC Material,helpValuesMethod:null,value:1400421-0010,inputPattern:,高度:4

属性:AGO_SEPARATOR,类型:字符串,描述:SSC 分隔符,helpValuesMethod:null,值::,inputPattern:,高度:4

property: AGO_MTRL_QTY, type: String, description: Material Qty, helpValuesMethod: null, value: 2, inputPattern: , height: 4 >

          property: AGO_MATERIAL_NUMBER, type: String, description: AGO material number, helpValuesMethod: null, value: , inputPattern: , height: ";*

【问题讨论】:

不确定你在问什么。请正确格式化并提供代码以供审核。 【参考方案1】:

正则表达式可能会使代码复杂化。如果它是一个简单的比较,您可以改用indexOf。查看字符串的格式,最好使用属性,然后您可以更好地控制值。例如

import java.io.IOException;
import java.io.StringReader;
import java.util.Properties;

public class StringToProp 

    public static void main(String[] args) 
        String str1 = "property: IS_IN_AGO, type: String, description: hej, helpValuesMethod: null, value: 1-SSCFAP1301498_KB$2(SSCBFM901290), inputPattern: , height:";
        String str2 = "property: AGO_MATERIAL, type: String, description: SSC Material, helpValuesMethod: null, value: 1400421-0010, inputPattern: , height: 4";
        String str3 = "property: AGO_SEPARATOR, type: String, description: SSC Separator, helpValuesMethod: null, value: :, inputPattern: , height: 4";

        printProperty(str1);
        printProperty(str2);
        printProperty(str3);
    

    private static void printProperty(String str) 
        String propertiesFormat = str.replaceAll(",", "\n");
        Properties properties = new Properties();
        try 
            properties.load(new StringReader(propertiesFormat));
         catch (IOException e) 
            e.printStackTrace();
        
        System.out.println(properties.getProperty("property") + " : " + properties.getProperty("value"));
    


【讨论】:

以上是关于想要使用java中的模式从String中提取一个值[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

从 AWS Glue DynamicFrame 中的数组<string> 中提取第一个值

从 Pyspark 中的嵌套 Json-String 列中提取模式

lua如何从字符串提取某一个字符

java - 在不知道模式的情况下从字符串中提取当前日期模式

java中如何提取一个字符串中的电话号码?

如何从 Java 中的 avro 文件中提取模式