繁体   English   中英

替换字符串中的字段值

Replace field value(s) in a String

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

使用Google Guava有String实用程序可以轻松替换内部的字符串字段,如下所示:

String query = mydb..sp_mySP ${userId}, ${groupId}, ${someOtherField}

在哪里我可以做这样的事情:

StringUtil.setString(query)
   .setField("userId", "123")
   .setField("groupId", "456")
   .setField("someOtherField", "12-12-12");

然后生成的String将是:

mydb..sp_mySP 123, 456, 12-12-12

当然,在操作之前设置字符串字段模式,如${<field>} ...

无论如何,这是我的方法:

public class StringUtil {
    public class FieldModifier {
        private String s;
        public FieldModifier(String s){
            this.s = s;
        }
        public FieldModifier setField(String fieldName, Object fieldValue){
            String value = String.valueOf(fieldValue);
            s = modifyField(s, fieldName, value);
            return new FieldModifier(s); 
        }
        public String get() {
                return s;
        }
        private String modifyField(String s, String fieldName, String fieldValue){
            String modified = "";
            return modified;
        }
    }
    public FieldModifier parse(String s){
        FieldModifier fm = new FieldModifier(s);
        return fm; 
    }
}

所以在这种情况下,我只需要将实际代码放在modifyField函数中,该函数将以简单的方式修改字符串。 此外,如果有一种方式使得parse函数是静态的,那么我可以只执行StringUtil.parse(...)而不需要执行new StringUtil().parse(...) ,这看起来并不好看。

3 个回复

是的, String.format()

String s = "Hey %s! Cool %s, right?";
System.out.println(String.format(s, "xybrek", "feature"));

番石榴没有这样的东西。 您可以查看可以进行字符串模板化的SpEL (Spring表达式语言),或其他模板框架,如VelocityFreemarker

用番石榴? 没有。

虽然最近要求增强功能来支持这一点( 见这里 )。

无论如何,使用Apache Commons Lang的StrSubstitutor仍然可行。

1 替换字符串中的字段值

我想将从数据库查询中获取的字段值替换为字符串中的对象数组,如下所示: 我找到了以下解决方案但只有在我用普通字符串替换值时才有效,而不是使用对象属性: 我收到此错误: 类stdClass的对象无法转换为字符串 。 为什么它无法评估$ row-&gt; fielname? ...

2012-07-14 11:39:08 1 95   php
3 替换字符串 JS 中的值

我有一个带有 4 个值的字符串,称为 alpha1“abcd”,另一个带有 4 个值的字符串称为 alpha2“abce”。 我想创建一个函数,将给定的 alpha1 字符串转换为 alpha2,这样:函数“abcd”返回“abce”函数“dddd”返回“eeee”函数“bbdd”返回“bbee”这 ...

4 在PHP中替换字符串值

我正在尝试使此代码更灵活: 我已对其进行编辑以包括&lt;?php echo $_Helper?&gt; : 但它不起作用。 表明: 在我的模板中。 ...

5 替换字符串中的多个值

我正在合并两个金融交易数据库。 在其中一个表中,有一个字段用来表示与同一表中另一条记录的事务分配。 它使用记录ID和金额来引用相应的记录。 当合并两个数据库的两个表中的数据时,记录ID将更改。 如何更改此字段中的所有记录ID,从旧的ID更改为新的对应ID? 有没有办法。 Record ...

2018-07-11 11:17:03 3 51   tsql
6 替换字符串中的unicode值

我有一个字符串@"\\EOP" 。 我想把这个支付给用户。 但是当我在文本字段中显示此字符串时,它仅显示OP 。 我尝试在调试时在控制台中打印它,并显示¿OP 因此\\E是unicode值,这就是为什么它存在一些编码问题。 我可以通过以下方法解决此问题: 它将显示完美的字符 ...

7 如何动态替换字符串中的值

我正在尝试替换字符串中未知数量的字符串,并将其保存在变量中。 pageContent包含我要替换一个或多个字符串实例的字符串。 新旧值存储在sourceUrlArray 。 sourceUrlArray的内容是动态的,可以更改。 仅最后一次更换。 我知道这与覆盖wpcon ...

8 如何替换字符串数组中的值

如何在字符串数组中删除我的值以及如何重新排列 在某些条件下,我需要检查现有值,并想将其从我的收藏中删除,我该怎么做。 我尝试如下,但我不能,它返回true,但是如何使该索引值变为null {//如何使包含“ CC”的索引为null; 我需要重新排列数组} ...

9 替换字符串中的值

我有一个字符串,其中包含一定数量的 #{number} 结构。 例如: #328_#918_#1358 SKU:#666:#456 测试--#888/#982 对于每个 #{number} 结构,我必须用已知字符串替换它。 对于第一个示例: #328_#918_#1358 我有以下字符串 ...

2021-04-16 10:07:15 1 34   php/ regex
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM