如何使用Talend 3.6在tMap中导入和使用StringUtils

时间:2017-04-11 14:20:11

标签: talend

我理解库http://commons.apache.org/proper/commons-lang/javadocs/api-3.4/index.html提供了许多字符串函数,包括StringUtils.capitalize

在Talend OpenStudio 6.3中,我添加了tLibraryLoad并选择了基本设置 commons-lang3-3.4.jar高级设置中我import org.apache.commons.lang3.StringUtils.*;

在我的tMap中,我StringUtils.Capitalize(row20.Forename)已分配给变量但我收到错误The method Capitalize(String) is undefined for the type StringUtils

在TalendExchange上有一个可用的StringUtils,但它仅适用于6.2及更低版本。

最好和最可靠的方法是访问其他字符串处理工具,例如Capitalize,将 MONKEY 等字符串转换为 Monkey

4 个答案:

答案 0 :(得分:1)

似乎talend使用自己的StringUtils库(routines.system),然后在指定“StringUtils”时,Talend无法识别你的importn并仍然使用它自己的类。

在tMap中,请尝试使用org.apache.commons.lang3.StringUtils.capitalize(row20.Forename)

答案 1 :(得分:1)

您几乎在tLibraryload中获得了正确的设置,但是您可以尝试如下图所示进行配置:

tLibraryload设置

tlibrary_basic_set

tlibrary_adv_set

Tmap

tmap_config

结果

enter image description here

答案 2 :(得分:0)

我认为你应该尝试

<div id="wrapper">
                                    <div class="menu">
                                        <h1 class="noselect">MENU</h1>
                                        <ul>
                                                <li id="home" class="noselect" onclick="homeTransition()">
                                                    <i class="fa fa-home"></i> home
                                                </li>
                                            <div class="liSeperator"></div>
                                                <li id="about" class="noselect" onclick="aboutTransition()">
                                                    <i class="fa fa-user"></i> about                                        
                                                </li>
                                            <div class="liSeperator"></div>
                                                <li id="projects" class="noselect" onclick="projectsTransition()">
                                                    <i class="fa fa-code"></i> projects
                                                </li>
                                            <div class="liSeperator"></div>
                                                <li id="contact" class="noselect" onclick="contactTransition()">
                                                    <i class="fa fa-paper-plane"></i> contact
                                                </li>
                                        </ul>
                                    </div>
                                    <div class="content animated fadeInDown">
                                        <div class="button">
                                            <div class="line first top"></div>
                                            <div class="line second bottom"></div>
                                        </div>
                                    </div>

答案 3 :(得分:-2)

您可以使用StringHandling.UPCASE(row20.Forename)转换为大写。 在tMap中,单击“...”,只需放置表达式以填充输出字段。它使表达式构建器变得更好。在类别列中搜索“StringHandling”,然后单击UPCASE并完成TOS建议的表达式。

enter image description here